Received: by 2002:a05:7412:8d11:b0:fa:4934:9f with SMTP id bj17csp270624rdb; Sun, 14 Jan 2024 16:52:24 -0800 (PST) X-Google-Smtp-Source: AGHT+IHDXjqjoeaz0hCjgxOUnnotsilhJNt/cQMTmuefqKT2niOVXpPzd/ho+KXQXlOhqxI3FhNM X-Received: by 2002:a17:90a:e98f:b0:28b:5031:55f6 with SMTP id v15-20020a17090ae98f00b0028b503155f6mr8025847pjy.47.1705279944154; Sun, 14 Jan 2024 16:52:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705279944; cv=none; d=google.com; s=arc-20160816; b=LGCWJOaxeuu40rxLITC6u3nMr0BUV047f9IBqrQmVusrLhDPx/rxAjQIwXPfbeeQlM zSewcyTlvgnkBLZzG97Jq9l6SfiMUUihW8H3qyF4mVYXY0zHco+zSSNNaP0tdZkd1O3l LTZwYW98mlODOuqF53HOqLFQkxULbqTA1kCl5jixi6louzdCgoq7JbDF/ZbqJJHtuhWK +mxXWhlG+hRhKp4s/lIFCv0xiwFecpkSEyz8L8//28q00nvbA+p2U2wtYMNftOCpZwz6 t6BkUPcRUSEQ1UiZ0koxaTzYV+jhYPt+sGxwaHLKlLHxNNV/nxv0SbGVxdcATiwesNv6 WmBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :content-transfer-encoding:content-language:accept-language :in-reply-to:references:message-id:date:thread-index:thread-topic :subject:cc:to:from; bh=QACu+pa7ZAb64EdimvJoGjfDhbCBfYn5iJ4LD2JP3rQ=; fh=OWhMR/BBsuKaAuCo08ug060S0r2My0pVtrcvmso6ExE=; b=KceVRFtS8JaIab51hLb8dSH+cUtE5KOCazYLmVFR4ESBKWytRVJ/1I09o7T8BzNWIl o8BqVNuJIUuA5M5KjWGqjbX1Pg0G4wm4ncruFi3uiO18HIPGJx8zlrBhY6Ls6Ky2WZFA zV/t8/TINQFOtJZV2Foy45wGqVtoQO1xjh34WJZJ3cdxceLCSF3aQdLTBYh/8mDNJGbE FVtpYNaF7zpTmR0N/OKTyAeF9H0rkKnbivtWgaKElgRCzLHjwyIcFzFRG+jj6P8FE3D9 +XThucv0bgWztfe4ewytqpR+t5e0b623qZJ/uQ8ErddSu3eh7FX/K7074mQpv8eX+Fa/ UzKA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-wireless+bounces-1895-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-wireless+bounces-1895-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id c9-20020a17090a8d0900b0028de1e8034fsi7990826pjo.93.2024.01.14.16.52.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Jan 2024 16:52:24 -0800 (PST) Received-SPF: pass (google.com: domain of linux-wireless+bounces-1895-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-wireless+bounces-1895-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-wireless+bounces-1895-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id D657EB209A7 for ; Mon, 15 Jan 2024 00:52:22 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id BB4B06FC9; Mon, 15 Jan 2024 00:51:13 +0000 (UTC) X-Original-To: linux-wireless@vger.kernel.org Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 36D8E6FBE for ; Mon, 15 Jan 2024 00:51:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=realtek.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=realtek.com X-SpamFilter-By: ArmorX SpamTrap 5.78 with qID 40F0oxA233426456, This message is accepted by code: ctloc85258 Received: from mail.realtek.com (rtexh36505.realtek.com.tw[172.21.6.25]) by rtits2.realtek.com.tw (8.15.2/2.95/5.92) with ESMTPS id 40F0oxA233426456 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 15 Jan 2024 08:50:59 +0800 Received: from RTEXDAG01.realtek.com.tw (172.21.6.100) by RTEXH36505.realtek.com.tw (172.21.6.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.32; Mon, 15 Jan 2024 08:51:00 +0800 Received: from RTEXMBS04.realtek.com.tw (172.21.6.97) by RTEXDAG01.realtek.com.tw (172.21.6.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.7; Mon, 15 Jan 2024 08:50:59 +0800 Received: from RTEXMBS04.realtek.com.tw ([fe80::e4c4:c4f:4e4c:d23c]) by RTEXMBS04.realtek.com.tw ([fe80::e4c4:c4f:4e4c:d23c%5]) with mapi id 15.01.2507.035; Mon, 15 Jan 2024 08:50:59 +0800 From: Ping-Ke Shih To: Bitterblue Smith , "linux-wireless@vger.kernel.org" CC: Larry Finger Subject: RE: [PATCH] wifi: rtlwifi: Speed up firmware loading for USB Thread-Topic: [PATCH] wifi: rtlwifi: Speed up firmware loading for USB Thread-Index: AQHaRZC+v8bBWB+tBkaVrmYe4iaQibDaClWQ Date: Mon, 15 Jan 2024 00:50:59 +0000 Message-ID: <7d8e8424b768418ea1d2a38ba874c400@realtek.com> References: <0d262acd-4f94-41c2-8d15-83486aeb976b@gmail.com> In-Reply-To: <0d262acd-4f94-41c2-8d15-83486aeb976b@gmail.com> Accept-Language: en-US, zh-TW Content-Language: zh-TW x-kse-serverinfo: RTEXDAG01.realtek.com.tw, 9 x-kse-antispam-interceptor-info: fallback x-kse-antivirus-interceptor-info: fallback Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-KSE-AntiSpam-Interceptor-Info: fallback X-KSE-ServerInfo: RTEXH36505.realtek.com.tw, 9 X-KSE-AntiSpam-Interceptor-Info: fallback X-KSE-Antivirus-Interceptor-Info: fallback X-KSE-AntiSpam-Interceptor-Info: fallback DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQml0dGVyYmx1ZSBTbWl0 aCA8cnRsODgyMWNlcmZlMkBnbWFpbC5jb20+DQo+IFNlbnQ6IFNhdHVyZGF5LCBKYW51YXJ5IDEz LCAyMDI0IDM6NTEgQU0NCj4gVG86IGxpbnV4LXdpcmVsZXNzQHZnZXIua2VybmVsLm9yZw0KPiBD YzogUGluZy1LZSBTaGloIDxwa3NoaWhAcmVhbHRlay5jb20+OyBMYXJyeSBGaW5nZXIgPExhcnJ5 LkZpbmdlckBsd2Zpbmdlci5uZXQ+DQo+IFN1YmplY3Q6IFtQQVRDSF0gd2lmaTogcnRsd2lmaTog U3BlZWQgdXAgZmlybXdhcmUgbG9hZGluZyBmb3IgVVNCDQo+IA0KPiBDdXJyZW50bHkgaXQgdGFr ZXMgYWxtb3N0IDYgc2Vjb25kcyB0byB1cGxvYWQgdGhlIGZpcm13YXJlIGZvciBSVEw4MTkyQ1UN Cj4gKGFuZCAxMSBzZWNvbmRzIGZvciBSVEw4MTkyRFUpLiBUaGF0J3MgYmVjYXVzZSB0aGUgZmly bXdhcmUgaXMgdXBsb2FkZWQNCj4gb25lIGJ5dGUgYXQgYSB0aW1lLg0KPiANCj4gQWxzbywgYWZ0 ZXIgcGx1Z2dpbmcgdGhlIGRldmljZSwgdGhlIGZpcm13YXJlIGdldHMgdXBsb2FkZWQgdGhyZWUg dGltZXMNCj4gYmVmb3JlIGEgY29ubmVjdGlvbiB0byB0aGUgQVAgaXMgZXN0YWJsaXNoZWQuDQo+ IA0KPiBNYXliZSB0aGlzIGlzIGZpbmUgZm9yIG1vc3QgdXNlcnMsIGJ1dCB3aGVuIHRlc3Rpbmcg Y2hhbmdlcyB0byB0aGUNCj4gZHJpdmVyIGl0J3MgcmVhbGx5IGFubm95aW5nIHRvIHdhaXQgc28g bG9uZy4NCj4gDQo+IFNwZWVkIHVwIHRoZSBmaXJtd2FyZSB1cGxvYWQgYnkgd3JpdGluZyBjaHVu a3Mgb2YgNjQgYnl0ZXMgYXQgYSB0aW1lLg0KPiBUaGlzIHdheSBpdCB0YWtlcyBhYm91dCAxMTAg bXMgZm9yIFJUTDgxOTJDVSAoYW5kIGFib3V0IDIxMCBtcyBmb3INCj4gUlRMODE5MkRVKS4NCj4g DQo+IFBDSSBkZXZpY2VzIGNvdWxkIHVwbG9hZCBpdCBpbiBjaHVua3Mgb2YgNCBieXRlcywgYnV0 IEkgZG9uJ3QgaGF2ZSBhbnkNCj4gdG8gdGVzdCBhbmQgY29tbWl0IDg5ZDMyYzkwNzFhYSAoInJ0 bHdpZmk6IERvd25sb2FkIGZpcm13YXJlIGFzIGJ5dGVzDQo+IHJhdGhlciB0aGFuIGFzIGR3b3Jk cyIpIGRlY2lkZWQgb3RoZXJ3aXNlIGFueXdheS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEJpdHRl cmJsdWUgU21pdGggPHJ0bDg4MjFjZXJmZTJAZ21haWwuY29tPg0KPiAtLS0NCj4gIGRyaXZlcnMv bmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnRsd2lmaS9lZnVzZS5jICB8IDY1ICsrKysrKysrKysrKysr KysrLS0NCj4gIGRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnRsd2lmaS9lZnVzZS5oICB8 ICA0ICstDQo+ICAuLi4vd2lyZWxlc3MvcmVhbHRlay9ydGx3aWZpL3J0bDgxOTJjdS9zdy5jICAg fCAgNiArLQ0KPiAgZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydGx3aWZpL3VzYi5jICAg IHwgIDkgKysrDQo+ICBkcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0bHdpZmkvd2lmaS5o ICAgfCAgOCArKysNCj4gIDUgZmlsZXMgY2hhbmdlZCwgODIgaW5zZXJ0aW9ucygrKSwgMTAgZGVs ZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRl ay9ydGx3aWZpL2VmdXNlLmMNCj4gYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0bHdp ZmkvZWZ1c2UuYw0KPiBpbmRleCAyZTk0NTU1NGVkNmQuLjg3MGEyNzYyOTlmNSAxMDA2NDQNCj4g LS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydGx3aWZpL2VmdXNlLmMNCj4gKysr IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydGx3aWZpL2VmdXNlLmMNCj4gQEAgLTEy ODcsMTggKzEyODcsNzMgQEAgaW50IHJ0bF9nZXRfaHdpbmZvKHN0cnVjdCBpZWVlODAyMTFfaHcg Kmh3LCBzdHJ1Y3QgcnRsX3ByaXYgKnJ0bHByaXYsDQo+ICB9DQo+ICBFWFBPUlRfU1lNQk9MX0dQ TChydGxfZ2V0X2h3aW5mbyk7DQo+IA0KPiAtdm9pZCBydGxfZndfYmxvY2tfd3JpdGUoc3RydWN0 IGllZWU4MDIxMV9odyAqaHcsIGNvbnN0IHU4ICpidWZmZXIsIHUzMiBzaXplKQ0KPiArc3RhdGlj IHZvaWQgX3J0bF9md19ibG9ja193cml0ZV91c2Ioc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIHU4 ICpidWZmZXIsIHUzMiBzaXplKQ0KPiArew0KPiArICAgICAgIHN0cnVjdCBydGxfcHJpdiAqcnRs cHJpdiA9IHJ0bF9wcml2KGh3KTsNCj4gKyAgICAgICB1MzIgYmxvY2tjb3VudCwgYmxvY2tjb3Vu dDgsIGJsb2NrY291bnQ0Ow0KPiArICAgICAgIHUzMiByZW1haW44ID0gMCwgcmVtYWluNCA9IDAs IHJlbWFpbiA9IDA7DQo+ICsgICAgICAgY29uc3QgdTMyIGJsb2Nrc2l6ZSA9IDY0Ow0KPiArICAg ICAgIGNvbnN0IHUzMiBibG9ja3NpemU4ID0gODsNCj4gKyAgICAgICBjb25zdCB1MzIgYmxvY2tz aXplNCA9IDQ7DQo+ICsgICAgICAgdTMyIGksIG9mZnNldDsNCj4gKw0KPiArICAgICAgIGJsb2Nr Y291bnQgPSBzaXplIC8gYmxvY2tzaXplOw0KPiArICAgICAgIHJlbWFpbjggPSBzaXplICUgYmxv Y2tzaXplOw0KPiArICAgICAgIGZvciAoaSA9IDA7IGkgPCBibG9ja2NvdW50OyBpKyspIHsNCj4g KyAgICAgICAgICAgICAgIG9mZnNldCA9IGkgKiBibG9ja3NpemU7DQo+ICsgICAgICAgICAgICAg ICBydGxfd3JpdGVfY2h1bmsocnRscHJpdiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTVEFSVF9BRERSRVNTICsgb2Zmc2V0LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJsb2Nrc2l6ZSwgYnVmZmVyICsgb2Zmc2V0KTsNCj4gKyAgICAgICB9DQo+ICsNCj4g KyAgICAgICBpZiAocmVtYWluOCkgew0KPiArICAgICAgICAgICAgICAgb2Zmc2V0ID0gYmxvY2tj b3VudCAqIGJsb2Nrc2l6ZTsNCj4gKyAgICAgICAgICAgICAgIGJsb2NrY291bnQ4ID0gcmVtYWlu OCAvIGJsb2Nrc2l6ZTg7DQo+ICsgICAgICAgICAgICAgICByZW1haW40ID0gcmVtYWluOCAlIGJs b2Nrc2l6ZTg7DQo+ICsNCj4gKyAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBibG9ja2Nv dW50ODsgaSsrKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICBydGxfd3JpdGVfY2h1bmsocnRs cHJpdiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUQVJUX0FE RFJFU1MgKyBvZmZzZXQgKyBpICogYmxvY2tzaXplOCwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJsb2Nrc2l6ZTgsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBidWZmZXIgKyBvZmZzZXQgKyBpICogYmxvY2tzaXplOCk7DQo+ICsg ICAgICAgfQ0KPiArDQo+ICsgICAgICAgaWYgKHJlbWFpbjQpIHsNCj4gKyAgICAgICAgICAgICAg IG9mZnNldCArPSBibG9ja2NvdW50OCAqIGJsb2Nrc2l6ZTg7DQo+ICsgICAgICAgICAgICAgICBi bG9ja2NvdW50NCA9IHJlbWFpbjQgLyBibG9ja3NpemU0Ow0KPiArICAgICAgICAgICAgICAgcmVt YWluID0gcmVtYWluOCAlIGJsb2Nrc2l6ZTQ7DQo+ICsNCj4gKyAgICAgICAgICAgICAgIGZvciAo aSA9IDA7IGkgPCBibG9ja2NvdW50NDsgaSsrKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICBy dGxfd3JpdGVfZHdvcmQocnRscHJpdiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFNUQVJUX0FERFJFU1MgKyBvZmZzZXQgKyBpICogYmxvY2tzaXplNCwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwdV90b19sZTMyKCoodTMyICop KGJ1ZmZlciArIG9mZnNldCArIGkpKSk7DQoNCkhlcmUgc2hvdWxkIGJlIGxlMzJfdG9fY3B1KCku IA0KDQo+ICsgICAgICAgfQ0KPiArDQo+ICsgICAgICAgaWYgKHJlbWFpbikgew0KPiArICAgICAg ICAgICAgICAgb2Zmc2V0ICs9IGJsb2NrY291bnQ0ICogYmxvY2tzaXplNDsNCj4gKw0KPiArICAg ICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHJlbWFpbjsgaSsrKQ0KPiArICAgICAgICAgICAg ICAgICAgICAgICBydGxfd3JpdGVfYnl0ZShydGxwcml2LCBTVEFSVF9BRERSRVNTICsgb2Zmc2V0 ICsgaSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKihidWZmZXIg KyBvZmZzZXQgKyBpKSk7DQo+ICsgICAgICAgfQ0KPiArfQ0KDQpJIHRoaW5rIHdlIGNhbiBpbmNy ZWFzZSAnc3RhcnQnIGFuZCAnYnVmZmVyJyBhZGRyZXNzZXMgYWZ0ZXIgd3JpdGluZywgc28gDQph cml0aG1ldGljIGNhbiBiZSBzaW1wbGUuIEFuZCwgY29tYmluZSA2NC84LzQvMSBibG9jayB3cml0 aW5nIGludG8gc2luZ2xlDQpsb29wLiBQc2V1ZG8gY29kZSBsaWtlDQoNCnN0YXRpYyB2b2lkIF9y dGxfZndfYmxvY2tfd3JpdGVfdXNiKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LCB1OCAqYnVmZmVy LCB1MzIgc2l6ZSkNCnsNCgl1MzIgc3RhcnQgPSBTVEFSVF9BRERSRVNTOw0KCXUzMiBuOw0KDQoJ d2hpbGUgKHNpemUgPiAwKSB7DQoJCWlmIChzaXplID49IDY0KSB7DQoJCQluID0gNjQ7DQoJCQly dGxfd3JpdGVfY2h1bmsocnRscHJpdiwgc3RhcnQsIDY0LCBidWZmZXIpOw0KCQl9IGVsc2UgaWYg KHNpemUgPj0gOCkgew0KCQkJbiA9IDg7DQoJCQlydGxfd3JpdGVfY2h1bmsocnRscHJpdiwgc3Rh cnQsIDgsIGJ1ZmZlcik7DQoJCX0gZWxzZSBpZiAoc2l6ZSA+PSA0KSB7DQoJCQluID0gNDsNCgkJ CXJ0bF93cml0ZV9kd29yZChydGxwcml2LCBzdGFydCwgbGUzMl90b19jcHUoKih1MzIgKilidWZm ZXIpKTsNCgkJfSBlbHNlIHsNCgkJCW4gPSAxOw0KCQkJcnRsX3dyaXRlX2J5dGUocnRscHJpdiwg c3RhcnQsICpidWZmZXIpOw0KCQl9DQoNCgkJc3RhcnQgKz0gbjsNCgkJYnVmZmVyICs9IG47DQoJ CXNpemUgLT0gbjsNCgl9DQp9DQoNCj4gKw0KPiArdm9pZCBydGxfZndfYmxvY2tfd3JpdGUoc3Ry dWN0IGllZWU4MDIxMV9odyAqaHcsIHU4ICpidWZmZXIsIHUzMiBzaXplKQ0KPiAgew0KPiAgICAg ICAgIHN0cnVjdCBydGxfcHJpdiAqcnRscHJpdiA9IHJ0bF9wcml2KGh3KTsNCj4gLSAgICAgICB1 OCAqcHU0Ynl0ZXB0ciA9ICh1OCAqKWJ1ZmZlcjsNCj4gICAgICAgICB1MzIgaTsNCj4gDQo+IC0g ICAgICAgZm9yIChpID0gMDsgaSA8IHNpemU7IGkrKykNCj4gLSAgICAgICAgICAgICAgIHJ0bF93 cml0ZV9ieXRlKHJ0bHByaXYsIChTVEFSVF9BRERSRVNTICsgaSksICoocHU0Ynl0ZXB0ciArIGkp KTsNCj4gKyAgICAgICBpZiAocnRscHJpdi0+cnRsaGFsLmludGVyZmFjZSA9PSBJTlRGX1BDSSkg ew0KPiArICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHNpemU7IGkrKykNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgcnRsX3dyaXRlX2J5dGUocnRscHJpdiwgKFNUQVJUX0FERFJFU1Mg KyBpKSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKihidWZmZXIg KyBpKSk7DQo+ICsgICAgICAgfSBlbHNlIGlmIChydGxwcml2LT5ydGxoYWwuaW50ZXJmYWNlID09 IElOVEZfVVNCKSB7DQo+ICsgICAgICAgICAgICAgICBfcnRsX2Z3X2Jsb2NrX3dyaXRlX3VzYiho dywgYnVmZmVyLCBzaXplKTsNCj4gKyAgICAgICB9DQo+ICB9DQo+ICBFWFBPUlRfU1lNQk9MX0dQ TChydGxfZndfYmxvY2tfd3JpdGUpOw0KPiANCj4gLXZvaWQgcnRsX2Z3X3BhZ2Vfd3JpdGUoc3Ry dWN0IGllZWU4MDIxMV9odyAqaHcsIHUzMiBwYWdlLCBjb25zdCB1OCAqYnVmZmVyLA0KPiArdm9p ZCBydGxfZndfcGFnZV93cml0ZShzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywgdTMyIHBhZ2UsIHU4 ICpidWZmZXIsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgdTMyIHNpemUpDQo+ICB7DQo+ICAg ICAgICAgc3RydWN0IHJ0bF9wcml2ICpydGxwcml2ID0gcnRsX3ByaXYoaHcpOw0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydGx3aWZpL2VmdXNlLmgNCj4gYi9k cml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0bHdpZmkvZWZ1c2UuaA0KPiBpbmRleCAxZWM1 OWY0MzkzODIuLjQ4MjE2MjVhZDFlNSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxl c3MvcmVhbHRlay9ydGx3aWZpL2VmdXNlLmgNCj4gKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3Mv cmVhbHRlay9ydGx3aWZpL2VmdXNlLmgNCj4gQEAgLTkxLDggKzkxLDggQEAgdm9pZCBlZnVzZV9w b3dlcl9zd2l0Y2goc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIHU4IHdyaXRlLCB1OCBwd3JzdGF0 ZSk7DQo+ICBpbnQgcnRsX2dldF9od2luZm8oc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIHN0cnVj dCBydGxfcHJpdiAqcnRscHJpdiwNCj4gICAgICAgICAgICAgICAgICAgIGludCBtYXhfc2l6ZSwg dTggKmh3aW5mbywgaW50ICpwYXJhbXMpOw0KPiAgdm9pZCBydGxfZmlsbF9kdW1teSh1OCAqcGZ3 YnVmLCB1MzIgKnBmd2xlbik7DQo+IC12b2lkIHJ0bF9md19wYWdlX3dyaXRlKHN0cnVjdCBpZWVl ODAyMTFfaHcgKmh3LCB1MzIgcGFnZSwgY29uc3QgdTggKmJ1ZmZlciwNCj4gK3ZvaWQgcnRsX2Z3 X3BhZ2Vfd3JpdGUoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIHUzMiBwYWdlLCB1OCAqYnVmZmVy LA0KPiAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBzaXplKTsNCj4gLXZvaWQgcnRsX2Z3X2Js b2NrX3dyaXRlKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LCBjb25zdCB1OCAqYnVmZmVyLCB1MzIg c2l6ZSk7DQo+ICt2b2lkIHJ0bF9md19ibG9ja193cml0ZShzdHJ1Y3QgaWVlZTgwMjExX2h3ICpo dywgdTggKmJ1ZmZlciwgdTMyIHNpemUpOw0KPiAgdm9pZCBydGxfZWZ1c2Vfb3BzX2luaXQoc3Ry dWN0IGllZWU4MDIxMV9odyAqaHcpOw0KPiAgI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC93aXJlbGVzcy9yZWFsdGVrL3J0bHdpZmkvcnRsODE5MmN1L3N3LmMNCj4gYi9kcml2ZXJz L25ldC93aXJlbGVzcy9yZWFsdGVrL3J0bHdpZmkvcnRsODE5MmN1L3N3LmMNCj4gaW5kZXggMjBi NGFhYzY5NjQyLi45ZjRjZjA5MDkwZDYgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3dpcmVs ZXNzL3JlYWx0ZWsvcnRsd2lmaS9ydGw4MTkyY3Uvc3cuYw0KPiArKysgYi9kcml2ZXJzL25ldC93 aXJlbGVzcy9yZWFsdGVrL3J0bHdpZmkvcnRsODE5MmN1L3N3LmMNCj4gQEAgLTQwLDcgKzQwLDcg QEAgc3RhdGljIGludCBydGw5MmN1X2luaXRfc3dfdmFycyhzdHJ1Y3QgaWVlZTgwMjExX2h3ICpo dykNCj4gICAgICAgICBydGxwcml2LT5kbS50aGVybWFsdmFsdWUgPSAwOw0KPiANCj4gICAgICAg ICAvKiBmb3IgZmlybXdhcmUgYnVmICovDQo+IC0gICAgICAgcnRscHJpdi0+cnRsaGFsLnBmaXJt d2FyZSA9IHZ6YWxsb2MoMHg0MDAwKTsNCj4gKyAgICAgICBydGxwcml2LT5ydGxoYWwucGZpcm13 YXJlID0ga21hbGxvYygweDQwMDAsIEdGUF9LRVJORUwpOw0KDQpXaHkgc2hvdWxkIHdlIHVzZSBr bWFsbG9jIGluc3RlYWQ/IEkgZG9uJ3Qgc2VlIGFueSBkZXNjcmlwdGlvbiBhYm91dCB0aGlzIGlu DQpjb21taXQgbWVzc2FnZS4gDQoNCj4gICAgICAgICBpZiAoIXJ0bHByaXYtPnJ0bGhhbC5wZmly bXdhcmUpIHsNCj4gICAgICAgICAgICAgICAgIHByX2VycigiQ2FuJ3QgYWxsb2MgYnVmZmVyIGZv ciBmd1xuIik7DQo+ICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCj4gQEAgLTYxLDcgKzYxLDcg QEAgc3RhdGljIGludCBydGw5MmN1X2luaXRfc3dfdmFycyhzdHJ1Y3QgaWVlZTgwMjExX2h3ICpo dykNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmd19uYW1lLCBydGxw cml2LT5pby5kZXYsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0ZQ X0tFUk5FTCwgaHcsIHJ0bF9md19jYik7DQo+ICAgICAgICAgaWYgKGVycikgew0KPiAtICAgICAg ICAgICAgICAgdmZyZWUocnRscHJpdi0+cnRsaGFsLnBmaXJtd2FyZSk7DQo+ICsgICAgICAgICAg ICAgICBrZnJlZShydGxwcml2LT5ydGxoYWwucGZpcm13YXJlKTsNCj4gICAgICAgICAgICAgICAg IHJ0bHByaXYtPnJ0bGhhbC5wZmlybXdhcmUgPSBOVUxMOw0KPiAgICAgICAgIH0NCj4gICAgICAg ICByZXR1cm4gZXJyOw0KPiBAQCAtNzIsNyArNzIsNyBAQCBzdGF0aWMgdm9pZCBydGw5MmN1X2Rl aW5pdF9zd192YXJzKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3KQ0KPiAgICAgICAgIHN0cnVjdCBy dGxfcHJpdiAqcnRscHJpdiA9IHJ0bF9wcml2KGh3KTsNCj4gDQo+ICAgICAgICAgaWYgKHJ0bHBy aXYtPnJ0bGhhbC5wZmlybXdhcmUpIHsNCj4gLSAgICAgICAgICAgICAgIHZmcmVlKHJ0bHByaXYt PnJ0bGhhbC5wZmlybXdhcmUpOw0KPiArICAgICAgICAgICAgICAga2ZyZWUocnRscHJpdi0+cnRs aGFsLnBmaXJtd2FyZSk7DQo+ICAgICAgICAgICAgICAgICBydGxwcml2LT5ydGxoYWwucGZpcm13 YXJlID0gTlVMTDsNCj4gICAgICAgICB9DQo+ICB9DQoNClsuLi5dDQoNCg0K