Received: by 2002:a05:7412:a9a2:b0:e2:908c:2ebd with SMTP id o34csp128877rdh; Wed, 25 Oct 2023 19:14:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEFfXPyxY8Ni6KzaLwp10Xij1aUb0PRA68vkcCXCssZsCZOsWTBWUzRNhShJWkuxokBc3Tj X-Received: by 2002:a05:690c:d96:b0:5a7:aa83:9fb with SMTP id da22-20020a05690c0d9600b005a7aa8309fbmr20759634ywb.0.1698286461187; Wed, 25 Oct 2023 19:14:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698286461; cv=none; d=google.com; s=arc-20160816; b=va3bVEhkUJPy4LeTyjgQML2sviO8WVvEWsEDf37F5oBJBtqvNikx2cOsdyUHfWmd4X MDJrwihTU++LEVXTAJLsChLNOtjrmWZjhJSmLuyhqWMzX91s2quWaM+aykA1PJ15gTmf yhj96TAuauVmcGeC4F9kqKXesk2OUekj68Tzp2JsMaoxa8CCiQdF8xvBg8iuqaRlxmGA DBuYOAEEJg5DYufGWl2nNUWo4qP3FR4HkCzvlkCS5RGO8PFAros/05hFx0v/UfueW1Px MnaVQthdSlfin5puollGPrHv08oH/LMa/QHr46LmHua6RMcFmJLFItgF5pzWMkEYJXfs ZRHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:mime-version :content-transfer-encoding:references:in-reply-to:subject:cc:to:from :date:dkim-signature; bh=ZdhROuOS14XIlL3yGwF15jj2kEJ42WMu/V0XGPYV6TI=; fh=tplvMULrhtPib/OtiGi2nEgN+om9ho+e2xm9QsmAmEE=; b=jp0jp6tOgeoaA+yQwluxkKHWQhw2IwypKMWhuLKxnrQM+PRUeLl7wYyJzMvuP+XXc6 LcI/Nbrqgis++NswsZQ+SdJ9QQZepBUBxtox6mP/PO8GlKlf13b0qJ36092RHjvDy8zP QqoV3BmnW0L9e+OqWU3jOa7ur+Zh2kGQ4dJ0cVMeCKP/ILZ2GsPxqP8mvy+oAE5LWK3h UUXUP4KQjjjDnb9N/i2fVKh2fu0UbkIe+wUAjH2uXdEuehk6yeapbhB0s0TWWuScl8Vu uwObRnNiiuN9zFRwjY7CzalKJHVy5M+OBZmvuF8DBZ0NdALkoM8BSxjZxh0Zlz0FYoTm L28A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@163.com header.s=s110527 header.b=kp2+tw2f; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=163.com Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id u202-20020a0debd3000000b005a7ba0aba78si13370237ywe.122.2023.10.25.19.14.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Oct 2023 19:14:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@163.com header.s=s110527 header.b=kp2+tw2f; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=163.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id E42E4820D5E2; Wed, 25 Oct 2023 19:14:17 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233183AbjJZCOG (ORCPT + 99 others); Wed, 25 Oct 2023 22:14:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58924 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229518AbjJZCOF (ORCPT ); Wed, 25 Oct 2023 22:14:05 -0400 Received: from m1312.mail.163.com (m1312.mail.163.com [220.181.13.12]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 2F818AB; Wed, 25 Oct 2023 19:13:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:Subject:Content-Type:MIME-Version: Message-ID; bh=seZH83F4azqunw1CHtHm1iBRG2ZBjHjECrPKVOCMNyo=; b=k p2+tw2fDOQvaZFk64ApMAjfHq3GUGg7lFKf3SXmyw2mpiaw5Nki0Euaui0pQi1tO NdRzziO6gfeMbzzsHYdo0Q1LXiahytodJ2HNRNPoMu0FtBEA6GCBnwzFkhnIbxVC PCr6eKkjvkWmfEjG4ea144jjnEgrEBVCFqvcqJcweE= Received: from be286$163.com ( [171.83.45.213] ) by ajax-webmail-wmsvr12 (Coremail) ; Thu, 26 Oct 2023 10:13:24 +0800 (CST) X-Originating-IP: [171.83.45.213] Date: Thu, 26 Oct 2023 10:13:24 +0800 (CST) From: be286 To: "Pavel Hofman" Cc: gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re:Re: [PATCH V2] usb: gadget: f_uac1: add adaptive sync support for capture X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.14 build 20230109(dcb5de15) Copyright (c) 2002-2023 www.mailtech.cn 163com In-Reply-To: References: <20231018074739.1234394-1-be286@163.com> <58292dd5.6385.18b612da88f.Coremail.be286@163.com> X-NTES-SC: AL_QuySCv6TuUwr4iGfZukWnkwahec9XsK3vPQi349TN5k0vynB+ys/fEdhHnv/3f6dJCyeiCCmfR5u6dZcVolqYZDyFD1uCXOnoKvzQ5pk4686 Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=GBK MIME-Version: 1.0 Message-ID: <56660239.15d7.18b69c2024f.Coremail.be286@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID: DMGowAAH9zhEyzllkp8cAA--.1469W X-CM-SenderInfo: dehsmli6rwjhhfrp/1tbiFR0U0l5mSC+RvQACs- X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== X-Spam-Status: No, score=-0.3 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Wed, 25 Oct 2023 19:14:18 -0700 (PDT) CkhpIFBhdmVsLAoKS2VlcCB0aGUgYWRhcHRpdmUgbW9kZSBhcyBkZWZhdWx0IGlzIGJldHRlci4K ClRoYW5rcy4KCkNoYXJsZXMgWWkKCgoKCgoKCgpBdCAyMDIzLTEwLTI1IDE0OjQ0OjQ5LCAiUGF2 ZWwgSG9mbWFuIiA8cGF2ZWwuaG9mbWFuQGl2aXRlcmEuY29tPiB3cm90ZToKPkRuZSAyNC4gMTAu IDIzIHYgMTI6MTQgYmUyODYgbmFwc2FsKGEpOgo+PiAKPj4gSGkgUGF2ZWwsCj4+IAo+PiBGZWVk YmFjayBlbmRwb2ludCB3b3JrcyBmb3IgdWNhMSBjYXB0dXJlLCBtZWFucyAiRVBPVVRfRU4iLgo+ PiAKPj4gICBDaGFybGVzIFlpCj4+IAo+SGkgQ2hhcmxlcywKPgo+U29ycnkgZm9yIG15IG1pc3Rh a2UsIEkgdGhvdWdodCB5b3Ugd2VyZSBpbXBsZW1lbnRpbmcgYWRhcHRpdmUgbW9kZSBmb3IgCj5F UC1JTi4KPgo+SUlVQyBub3cgeW91ciBwYXRjaCBhZGRzIGFzeW5jaHJvbm91cyBtb2RlIChub3Qg YWRhcHRpdmUgc3luYykgdG8gVUFDMSAKPkVQIE9VVCwgaW4gdGhlIHNhbWUgd2F5IGFzIGltcGxl bWVudGVkIGluIFVBQzIuCj4KPklJVUMgeW91ciBwYXRjaCBhbHNvIGNoYW5nZXMgdGhlIFVBQzEg RVAtT1VUIGRlZmF1bHQgbW9kZSBmcm9tIGFkYXB0aXZlIAo+dG8gYXN5bmNocm9ub3VzIHZpYQo+ Cj4gICsjZGVmaW5lIFVBQzFfREVGX0NTWU5DCQlVU0JfRU5EUE9JTlRfU1lOQ19BU1lOQwo+Cj5U aGUgY3VycmVudCAodGhlIG9ubHkgc3VwcG9ydGVkKSBtb2RlIGlzIGFkYXB0aXZlIAo+aHR0cHM6 Ly9lbGl4aXIuYm9vdGxpbi5jb20vbGludXgvbGF0ZXN0L3NvdXJjZS9kcml2ZXJzL3VzYi9nYWRn ZXQvZnVuY3Rpb24vZl91YWMxLmMjTDIxNDoKPgo+LyogU3RhbmRhcmQgSVNPIE9VVCBFbmRwb2lu dCBEZXNjcmlwdG9yICovCj5zdGF0aWMgc3RydWN0IHVzYl9lbmRwb2ludF9kZXNjcmlwdG9yIGFz X291dF9lcF9kZXNjICA9IHsKPgkuYkxlbmd0aCA9CQlVU0JfRFRfRU5EUE9JTlRfQVVESU9fU0la RSwKPgkuYkRlc2NyaXB0b3JUeXBlID0JVVNCX0RUX0VORFBPSU5ULAo+CS5iRW5kcG9pbnRBZGRy ZXNzID0JVVNCX0RJUl9PVVQsCj4JLmJtQXR0cmlidXRlcyA9CQlVU0JfRU5EUE9JTlRfU1lOQ19B REFQVElWRQo+CQkJCXwgVVNCX0VORFBPSU5UX1hGRVJfSVNPQywKPgkud01heFBhY2tldFNpemUJ PQljcHVfdG9fbGUxNihVQUMxX09VVF9FUF9NQVhfUEFDS0VUX1NJWkUpLAo+CS5iSW50ZXJ2YWwg PQkJNCwKPn07Cj4KPklNTyB0aGUgcGF0Y2ggc2hvdWxkIGtlZXAgdGhlIGFkYXB0aXZlIG1vZGUg YXMgZGVmYXVsdCwgdG8gbWFpbnRhaW4gCj5jb21wYXRpYmlsaXR5IHdpdGggdXNlciBzZXR1cHMu Cj4KPldpdGggcmVnYXJkcywKPgo+UGF2ZWwuCj4KPj4gCj4+IAo+PiAKPj4gCj4+IAo+PiAKPj4g Cj4+IEF0IDIwMjMtMTAtMTggMTc6NTI6MjAsICJQYXZlbCBIb2ZtYW4iIDxwYXZlbC5ob2ZtYW5A aXZpdGVyYS5jb20+IHdyb3RlOgo+Pj4KPj4+Cj4+PiBEbmUgMTguIDEwLiAyMyB2IDk6NDcgQ2hh cmxlcyBZaSBuYXBzYWwoYSk6Cj4+Pj4gVUFDMSBoYXMgaXQncyBvd24gZnJlZXJ1bm5pbmcgY2xv Y2sgYW5kIGNhbiB1cGRhdGUgSG9zdCBhYm91dAo+Pj4+IHJlYWwgY2xvY2sgZnJlcXVlbmN5IHRo cm91Z2ggZmVlZGJhY2sgZW5kcG9pbnQgc28gSG9zdCBjYW4gYWxpZ24KPj4+PiBudW1iZXIgb2Yg c2FtcGxlcyBzZW50IHRvIHRoZSBVQUMxIHRvIHByZXZlbnQgb3ZlcnJ1bnMvdW5kZXJydW5zLgo+ Pj4+Cj4+Pj4gQ2hhbmdlIFVBQzEgZHJpdmVyIHRvIG1ha2UgaXQgY29uZmlndXJhYmxlIHRocm91 Z2ggYWRkaXRpb25hbAo+Pj4+ICdjX3N5bmMnIGNvbmZpZ2ZzIGZpbGUuCj4+Pj4KPj4+PiBEZWZh dWx0IHJlbWFpbnMgJ2FzeW5jaHJvbm91cycgd2l0aCBwb3NzaWJpbGl0eSB0byBzd2l0Y2ggaXQK Pj4+PiB0byAnYWRhcHRpdmUnLgo+Pj4KPj4+Cj4+PiBIaSBDaGFybGVzLAo+Pj4KPj4+IFBsZWFz ZSBjYW4geW91IGNsYXJpZnkgbW9yZSB0aGUgYWRhcHRpdmUgRVAgSU4gc2NlbmFyaW8/IEkgYW0g YXdhcmUgdGhhdAo+Pj4gdGhlIGZfdWFjMi5jIGFsc28gYWxsb3dzIGRlZmluaW5nIGNfc3luYyB0 eXBlICh0aGF0J3Mgd2hhdCB5b3VyIHBhdGNoIGlzCj4+PiBiYXNlZCBvbikuCj4+Pgo+Pj4gSUlV QyB0aGUgZGF0YSBwcm9kdWN0aW9uIHJhdGUgb2YgYWRhcHRpdmUgc291cmNlIGVuZHBvaW50IChp LmUuIEVQIElOKQo+Pj4gaXMgY29udHJvbGxlZCBieSBmZWVkIGZvcndhcmQgbWVzc2FnZXMgZnJv bSB0aGUgaG9zdAo+Pj4gUXVvdGluZyBodHRwOi8vc2RwaGEyLnVjc2QuZWR1L0xhYl9FcXVpcF9N YW51YWxzL3VzYl8yMC5wZGYgcGFnZSA3MzoKPj4+Cj4+PiAiQWRhcHRpdmUgc291cmNlIGVuZHBv aW50cyBwcm9kdWNlIGRhdGEgYXQgYSByYXRlIHRoYXQgaXMgY29udHJvbGxlZCBieQo+Pj4gdGhl IGRhdGEgc2luay4gVGhlIHNpbmsgcHJvdmlkZXMgZmVlZGJhY2sgKHJlZmVyIHRvIFNlY3Rpb24g NS4xMi40LjIpIHRvCj4+PiB0aGUgc291cmNlLCB3aGljaCBhbGxvd3MgdGhlIHNvdXJjZSB0byBr bm93IHRoZSBkZXNpcmVkIGRhdGEgcmF0ZSBvZiB0aGUKPj4+IHNpbmsuIgo+Pj4KPj4+IFdoaWxl IHRoZSBjdXJyZW50IGZfdWFjMiBpbXBsZW1lbnRhdGlvbiBnZW5lcmF0ZXMgZmVlZGJhY2sgZm9y IEVQIE9VVAo+Pj4gYXN5bmMgKHVubGlrZSBmX3VhYzEpLCBJIGNhbm5vdCBmaW5kIGFueSBzdXBw b3J0IGZvciBpbmNvbWluZwo+Pj4gZmVlZC1mb3J3YXJkIG1lc3NhZ2VzIGZyb20gdGhlIGhvc3Qg Zm9yIEVQIElOIGFkYXB0aXZlIGNhc2UuIE5laXRoZXIgaW4KPj4+IGZfdWFjMSwgb2YgY291cnNl Lgo+Pj4KPj4+IEkgYW0gbm90IHN1cmUgaWYgbGludXggc3VwcG9ydHMgSU4gRVAgYWRhcHRpdmUs IGJ1dCB0aGUgTVMgVUFDMiBkcml2ZXIKPj4+IGRvZXMgbm90Cj4+PiBodHRwczovL2xlYXJuLm1p Y3Jvc29mdC5jb20vZW4tdXMvd2luZG93cy1oYXJkd2FyZS9kcml2ZXJzL2F1ZGlvL3VzYi0yLTAt YXVkaW8tZHJpdmVycyNhdWRpby1zdHJlYW1pbmc6Cj4+Pgo+Pj4gIkZvciB0aGUgQWRhcHRpdmUg SU4gY2FzZSB0aGUgZHJpdmVyIGRvZXNuJ3Qgc3VwcG9ydCBhIGZlZWQgZm9yd2FyZAo+Pj4gZW5k cG9pbnQuIElmIHN1Y2ggYW4gZW5kcG9pbnQgaXMgcHJlc2VudCBpbiB0aGUgYWx0ZXJuYXRlIHNl dHRpbmcsIGl0Cj4+PiB3aWxsIGJlIGlnbm9yZWQuIFRoZSBkcml2ZXIgaGFuZGxlcyB0aGUgQWRh cHRpdmUgSU4gc3RyZWFtIGluIHRoZSBzYW1lCj4+PiB3YXkgYXMgYW4gQXN5bmNocm9ub3VzIElO IHN0cmVhbS4iCj4+Pgo+Pj4gSUlVQyAoYW5kIEkgbWF5IGJlIHdyb25nKSBhbGwgdGhlIGNfc3lu YyBwYXJhbSBkb2VzIGluIGZfdWFjMiAoYW5kCj4+PiBmX3VhYzEgaW4geW91ciBwYXRjaCkgaXMg anVzdCBjaGFuZ2luZyB0aGUgRVAgSU4gY29uZmlndXJhdGlvbiBmbGFnLCBidXQKPj4+IHRoZSBh Y3R1YWwgc3VwcG9ydCBmb3IgdHJ1bHkgYWRhcHRpdmUgRVAgSU4gaXMgbm90IGltcGxlbWVudGVk LiBJTU8KPj4+IHRoZXJlIGlzIG5vIGNvZGUgd2hpY2ggd291bGQgYWNjZXB0IHRoZSBmZWVkLWZv cndhcmQgbWVzc2FnZSBmcm9tIHRoZQo+Pj4gaG9zdCBhbmQgYWRqdXN0IHRoZSByYXRlIGF0IHdo aWNoIHNhbXBsZXMgYXJlIGNvbnN1bWVkIGZyb20gdGhlIGFsc2EKPj4+IGJ1ZmZlciB0byBFUCBJ TiBwYWNrZXRzIChtZXRob2QgdV9hdWRpb19pc29fY29tcGxldGUKPj4+IGh0dHBzOi8vZWxpeGly LmJvb3RsaW4uY29tL2xpbnV4L2xhdGVzdC9zb3VyY2UvZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0 aW9uL3VfYXVkaW8uYyNMMTkzCj4+PiApCj4+Pgo+Pj4gVGhhdCBwZXJ0YWlucyBhIGJpdCB0byB0 aGUgZmlyc3Qgc2VudGVuY2Ugb2YgeW91ciBwYXRjaCAtIElNTyBpdAo+Pj4gZGVzY3JpYmVzIEVQ IE9VVCBhc3luYywgYnV0IG5vdCBFUCBJTiBhZGFwdGl2ZS4KPj4+Cj4+PiBUaGFua3MgYSBsb3Qg Zm9yIGEgYml0IG9mIGNsYXJpZmljYXRpb24uCj4+Pgo+Pj4gUGF2ZWwuCj4+Pgo+Pj4KPj4+Pgo+ Pj4+IENoYW5nZXMgaW4gVjI6Cj4+Pj4gLSBVcGRhdGVkIHRoZSBpbmRlbnRhdGlvbiBvZiBjb21t aXQgbWVzc2FnZS4KPj4+Pgo+Pj4+IFNpZ25lZC1vZmYtYnk6IENoYXJsZXMgWWkgPGJlMjg2QDE2 My5jb20+Cj4+Pj4gLS0tCj4+Pj4gICAgZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0aW9uL2ZfdWFj MS5jIHwgMzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+Pj4+ICAgIGRyaXZlcnMvdXNi L2dhZGdldC9mdW5jdGlvbi91X3VhYzEuaCB8ICAyICsrCj4+Pj4gICAgMiBmaWxlcyBjaGFuZ2Vk LCAzMiBpbnNlcnRpb25zKCspCj4+Pj4KPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2Fk Z2V0L2Z1bmN0aW9uL2ZfdWFjMS5jIGIvZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0aW9uL2ZfdWFj MS5jCj4+Pj4gaW5kZXggNmYwZTFkODAzZGMyLi43YTZmY2I0MGJiNDYgMTAwNjQ0Cj4+Pj4gLS0t IGEvZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0aW9uL2ZfdWFjMS5jCj4+Pj4gKysrIGIvZHJpdmVy cy91c2IvZ2FkZ2V0L2Z1bmN0aW9uL2ZfdWFjMS5jCj4+Pj4gQEAgLTMzLDYgKzMzLDggQEAKPj4+ PiAgICAjZGVmaW5lIEZVT1VUX0VOKF9vcHRzKSAoKF9vcHRzKS0+Y19tdXRlX3ByZXNlbnQgXAo+ Pj4+ICAgIAkJCXx8IChfb3B0cyktPmNfdm9sdW1lX3ByZXNlbnQpCj4+Pj4gICAgCj4+Pj4gKyNk ZWZpbmUgRVBPVVRfRkJBQ0tfSU5fRU4oX29wdHMpICgoX29wdHMpLT5jX3N5bmMgPT0gVVNCX0VO RFBPSU5UX1NZTkNfQVNZTkMpCj4+Pj4gKwo+Pj4+ICAgIHN0cnVjdCBmX3VhYzEgewo+Pj4+ICAg IAlzdHJ1Y3QgZ19hdWRpbyBnX2F1ZGlvOwo+Pj4+ICAgIAl1OCBhY19pbnRmLCBhc19pbl9pbnRm LCBhc19vdXRfaW50ZjsKPj4+PiBAQCAtMjI3LDYgKzIyOSwxNiBAQCBzdGF0aWMgc3RydWN0IHVh Y19pc29fZW5kcG9pbnRfZGVzY3JpcHRvciBhc19pc29fb3V0X2Rlc2MgPSB7Cj4+Pj4gICAgCS53 TG9ja0RlbGF5ID0JCWNwdV90b19sZTE2KDEpLAo+Pj4+ICAgIH07Cj4+Pj4gICAgCj4+Pj4gK3N0 YXRpYyBzdHJ1Y3QgdXNiX2VuZHBvaW50X2Rlc2NyaXB0b3IgYXNfZmJhY2tfZXBfZGVzYyA9IHsK Pj4+PiArCS5iTGVuZ3RoID0gVVNCX0RUX0VORFBPSU5UX1NJWkUsCj4+Pj4gKwkuYkRlc2NyaXB0 b3JUeXBlID0gVVNCX0RUX0VORFBPSU5ULAo+Pj4+ICsKPj4+PiArCS5iRW5kcG9pbnRBZGRyZXNz ID0gVVNCX0RJUl9JTiwKPj4+PiArCS5ibUF0dHJpYnV0ZXMgPSBVU0JfRU5EUE9JTlRfWEZFUl9J U09DIHwgVVNCX0VORFBPSU5UX1VTQUdFX0ZFRURCQUNLLAo+Pj4+ICsJLndNYXhQYWNrZXRTaXpl ID0gY3B1X3RvX2xlMTYoMyksCj4+Pj4gKwkuYkludGVydmFsID0gMSwKPj4+PiArfTsKPj4+PiAr Cj4+Pj4gICAgc3RhdGljIHN0cnVjdCB1YWNfZm9ybWF0X3R5cGVfaV9kaXNjcmV0ZV9kZXNjcmlw dG9yIGFzX2luX3R5cGVfaV9kZXNjID0gewo+Pj4+ICAgIAkuYkxlbmd0aCA9CQkwLCAvKiBmaWxs ZWQgb24gcmF0ZSBzZXR1cCAqLwo+Pj4+ICAgIAkuYkRlc2NyaXB0b3JUeXBlID0JVVNCX0RUX0NT X0lOVEVSRkFDRSwKPj4+PiBAQCAtMjgwLDYgKzI5Miw3IEBAIHN0YXRpYyBzdHJ1Y3QgdXNiX2Rl c2NyaXB0b3JfaGVhZGVyICpmX2F1ZGlvX2Rlc2NbXSA9IHsKPj4+PiAgICAKPj4+PiAgICAJKHN0 cnVjdCB1c2JfZGVzY3JpcHRvcl9oZWFkZXIgKikmYXNfb3V0X2VwX2Rlc2MsCj4+Pj4gICAgCShz dHJ1Y3QgdXNiX2Rlc2NyaXB0b3JfaGVhZGVyICopJmFzX2lzb19vdXRfZGVzYywKPj4+PiArCShz dHJ1Y3QgdXNiX2Rlc2NyaXB0b3JfaGVhZGVyICopJmFzX2ZiYWNrX2VwX2Rlc2MsCj4+Pj4gICAg Cj4+Pj4gICAgCShzdHJ1Y3QgdXNiX2Rlc2NyaXB0b3JfaGVhZGVyICopJmFzX2luX2ludGVyZmFj ZV9hbHRfMF9kZXNjLAo+Pj4+ICAgIAkoc3RydWN0IHVzYl9kZXNjcmlwdG9yX2hlYWRlciAqKSZh c19pbl9pbnRlcmZhY2VfYWx0XzFfZGVzYywKPj4+PiBAQCAtMTEwNyw2ICsxMTIwLDkgQEAgc3Rh dGljIHZvaWQgc2V0dXBfZGVzY3JpcHRvcihzdHJ1Y3QgZl91YWMxX29wdHMgKm9wdHMpCj4+Pj4g ICAgCQlmX2F1ZGlvX2Rlc2NbaSsrXSA9IFVTQkRIRFIoJmFzX291dF90eXBlX2lfZGVzYyk7Cj4+ Pj4gICAgCQlmX2F1ZGlvX2Rlc2NbaSsrXSA9IFVTQkRIRFIoJmFzX291dF9lcF9kZXNjKTsKPj4+ PiAgICAJCWZfYXVkaW9fZGVzY1tpKytdID0gVVNCREhEUigmYXNfaXNvX291dF9kZXNjKTsKPj4+ PiArCQlpZiAoRVBPVVRfRkJBQ0tfSU5fRU4ob3B0cykpIHsKPj4+PiArCQkJZl9hdWRpb19kZXNj W2krK10gPSBVU0JESERSKCZhc19mYmFja19lcF9kZXNjKTsKPj4+PiArCQl9Cj4+Pj4gICAgCX0K Pj4+PiAgICAJaWYgKEVQSU5fRU4ob3B0cykpIHsKPj4+PiAgICAJCWZfYXVkaW9fZGVzY1tpKytd ID0gVVNCREhEUigmYXNfaW5faW50ZXJmYWNlX2FsdF8wX2Rlc2MpOwo+Pj4+IEBAIC0xMzE3LDYg KzEzMzMsMTIgQEAgc3RhdGljIGludCBmX2F1ZGlvX2JpbmQoc3RydWN0IHVzYl9jb25maWd1cmF0 aW9uICpjLCBzdHJ1Y3QgdXNiX2Z1bmN0aW9uICpmKQo+Pj4+ICAgIAkJYWNfaGVhZGVyX2Rlc2Mt PmJhSW50ZXJmYWNlTnJbYmFfaWZhY2VfaWQrK10gPSBzdGF0dXM7Cj4+Pj4gICAgCQl1YWMxLT5h c19vdXRfaW50ZiA9IHN0YXR1czsKPj4+PiAgICAJCXVhYzEtPmFzX291dF9hbHQgPSAwOwo+Pj4+ ICsKPj4+PiArCQlpZiAoRVBPVVRfRkJBQ0tfSU5fRU4oYXVkaW9fb3B0cykpIHsKPj4+PiArCQkJ YXNfb3V0X2VwX2Rlc2MuYm1BdHRyaWJ1dGVzID0KPj4+PiArCQkJVVNCX0VORFBPSU5UX1hGRVJf SVNPQyB8IFVTQl9FTkRQT0lOVF9TWU5DX0FTWU5DOwo+Pj4+ICsJCQlhc19vdXRfaW50ZXJmYWNl X2FsdF8xX2Rlc2MuYk51bUVuZHBvaW50cysrOwo+Pj4+ICsJCX0KPj4+PiAgICAJfQo+Pj4+ICAg IAo+Pj4+ICAgIAlpZiAoRVBJTl9FTihhdWRpb19vcHRzKSkgewo+Pj4+IEBAIC0xMzU0LDYgKzEz NzYsMTIgQEAgc3RhdGljIGludCBmX2F1ZGlvX2JpbmQoc3RydWN0IHVzYl9jb25maWd1cmF0aW9u ICpjLCBzdHJ1Y3QgdXNiX2Z1bmN0aW9uICpmKQo+Pj4+ICAgIAkJCWdvdG8gZXJyX2ZyZWVfZnU7 Cj4+Pj4gICAgCQlhdWRpby0+b3V0X2VwID0gZXA7Cj4+Pj4gICAgCQlhdWRpby0+b3V0X2VwLT5k ZXNjID0gJmFzX291dF9lcF9kZXNjOwo+Pj4+ICsJCWlmIChFUE9VVF9GQkFDS19JTl9FTihhdWRp b19vcHRzKSkgewo+Pj4+ICsJCQlhdWRpby0+aW5fZXBfZmJhY2sgPSB1c2JfZXBfYXV0b2NvbmZp ZyhnYWRnZXQsICZhc19mYmFja19lcF9kZXNjKTsKPj4+PiArCQkJaWYgKCFhdWRpby0+aW5fZXBf ZmJhY2spIHsKPj4+PiArCQkJCWdvdG8gZXJyX2ZyZWVfZnU7Cj4+Pj4gKwkJCX0KPj4+PiArCQl9 Cj4+Pj4gICAgCX0KPj4+PiAgICAKPj4+PiAgICAJaWYgKEVQSU5fRU4oYXVkaW9fb3B0cykpIHsK Pj4+PiBAQCAtMTY4NSw2ICsxNzEzLDggQEAgc3RhdGljIHN0cnVjdCB1c2JfZnVuY3Rpb25faW5z dGFuY2UgKmZfYXVkaW9fYWxsb2NfaW5zdCh2b2lkKQo+Pj4+ICAgIAo+Pj4+ICAgIAlvcHRzLT5y ZXFfbnVtYmVyID0gVUFDMV9ERUZfUkVRX05VTTsKPj4+PiAgICAKPj4+PiArCW9wdHMtPmNfc3lu YyA9IFVBQzFfREVGX0NTWU5DOwo+Pj4+ICsKPj4+PiAgICAJc25wcmludGYob3B0cy0+ZnVuY3Rp b25fbmFtZSwgc2l6ZW9mKG9wdHMtPmZ1bmN0aW9uX25hbWUpLCAiQUMgSW50ZXJmYWNlIik7Cj4+ Pj4gICAgCj4+Pj4gICAgCXJldHVybiAmb3B0cy0+ZnVuY19pbnN0Owo+Pj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL3VzYi9nYWRnZXQvZnVuY3Rpb24vdV91YWMxLmggYi9kcml2ZXJzL3VzYi9nYWRn ZXQvZnVuY3Rpb24vdV91YWMxLmgKPj4+PiBpbmRleCBmN2E2MTY3NjBlMzEuLmM2ZTIyNzFlOGNk ZCAxMDA2NDQKPj4+PiAtLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvZnVuY3Rpb24vdV91YWMxLmgK Pj4+PiArKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvZnVuY3Rpb24vdV91YWMxLmgKPj4+PiBAQCAt MjcsNiArMjcsNyBAQAo+Pj4+ICAgICNkZWZpbmUgVUFDMV9ERUZfTUFYX0RCCQkwCQkvKiAwIGRC ICovCj4+Pj4gICAgI2RlZmluZSBVQUMxX0RFRl9SRVNfREIJCSgxKjI1NikJLyogMSBkQiAqLwo+ Pj4+ICAgIAo+Pj4+ICsjZGVmaW5lIFVBQzFfREVGX0NTWU5DCQlVU0JfRU5EUE9JTlRfU1lOQ19B U1lOQwo+Pj4+ICAgIAo+Pj4+ICAgIHN0cnVjdCBmX3VhYzFfb3B0cyB7Cj4+Pj4gICAgCXN0cnVj dCB1c2JfZnVuY3Rpb25faW5zdGFuY2UJZnVuY19pbnN0Owo+Pj4+IEBAIC01Niw2ICs1Nyw3IEBA IHN0cnVjdCBmX3VhYzFfb3B0cyB7Cj4+Pj4gICAgCj4+Pj4gICAgCXN0cnVjdCBtdXRleAkJCWxv Y2s7Cj4+Pj4gICAgCWludAkJCQlyZWZjbnQ7Cj4+Pj4gKwlpbnQJCQkJY19zeW5jOwo+Pj4+ICAg IH07Cj4+Pj4gICAgCj4+Pj4gICAgI2VuZGlmIC8qIF9fVV9VQUMxX0ggKi8K