From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D7F71C48260 for ; Thu, 8 Feb 2024 09:54:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=MtfMslDTWC0cRo5h1AM5ExwTQzU242kkbLOtWvNJUMY=; b=MI6Gi6WIRpP2Rv n1eem6u3FEPilGGAb3erppDn/3VakBYk0Uh6IIL4Hyc1UA7eSfUW7U8DYCKjWlRFT/+F3CwHpXpd3 2rQRNCbPy/X6nBG7V1T/Y07nu50yPCz3+dC0HWSdOJxmH8JM41sKfmmi46DtCaHOYZj9I2QVUdjOj 1lcCJDUrWwDVu/ahdw+QlVd7e0F65WaIjSwFBdGhXwWkmI5kW+HgVCvy7JmdYSyCBYxSjZoOaNsXI 43J3MXL93zfWNt/PZPlVTpGkobhrtkp8wjk6zKxq6DdQIlgKMEitpeoXuHkjmn+RvPlfN7T1oidVW U7XOp31EXVJvvHZdFzpw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rY16V-0000000DG1O-1AEN; Thu, 08 Feb 2024 09:53:59 +0000 Received: from sin.source.kernel.org ([2604:1380:40e1:4800::1]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rY16S-0000000DG0b-0y8S for linux-arm-kernel@lists.infradead.org; Thu, 08 Feb 2024 09:53:57 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 29F5DCE1BC6; Thu, 8 Feb 2024 09:53:54 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6A331C433C7; Thu, 8 Feb 2024 09:53:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1707386033; bh=nbfg0Gx52d/qcbW7/rm/yJ54WM1bD93/zqjyFrQALIQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=RQi+rpdI22K+N6hKk7cWedZtbH5ITgmMjh65WTq8PO30GUPourd3yKw6ZR0fH6ylw LF8N+W94jek1r8JR87VILyd0ep1JfHefWx+tzNKbQXMR7GkD6dAXY0jpcJbxhzWZD8 vaG6+NWeeVgN2W2dAHuZMVkzpQN7mEJ1YuarUQ2dusR9aD5AvTU6WFcM+vPxPkjoSg 56UqDsNjNYLpUb11ZvzY2McnxmcJGSnUDV75d9+UMEGLKWFaoxgOppRRaKH0xfVc63 dSLqsgAxYTGXEQE3Tl2eRcsZ0N+dublcOWs2q1UuwvbALZbBZBiQTkhj7PhBF7HPc/ /aL8ew+rYMBXw== Date: Thu, 8 Feb 2024 09:53:48 +0000 From: Simon Horman To: Jon Hunter Cc: Furong Xu <0x1207@gmail.com>, "David S. Miller" , Alexandre Torgue , Jose Abreu , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Maxime Coquelin , Joao Pinto , Serge Semin , netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, xfr@outlook.com, rock.xu@nio.com, "linux-tegra@vger.kernel.org" Subject: Re: [PATCH net v4] net: stmmac: xgmac: fix handling of DPP safety error for DMA channels Message-ID: <20240208095348.GA1435458@kernel.org> References: <20240203051439.1127090-1-0x1207@gmail.com> <20240208092627.GP1297511@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20240208092627.GP1297511@kernel.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240208_015356_649151_3FA5DEDD X-CRM114-Status: GOOD ( 37.63 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBGZWIgMDgsIDIwMjQgYXQgMDk6MjY6MjdBTSArMDAwMCwgU2ltb24gSG9ybWFuIHdy b3RlOgo+IE9uIFdlZCwgRmViIDA3LCAyMDI0IGF0IDExOjU2OjI2QU0gKzAwMDAsIEpvbiBIdW50 ZXIgd3JvdGU6Cj4gPiAKPiA+IE9uIDAzLzAyLzIwMjQgMDU6MTQsIEZ1cm9uZyBYdSB3cm90ZToK PiA+ID4gQ29tbWl0IDU2ZTU4ZDZjOGE1NiAoIm5ldDogc3RtbWFjOiBJbXBsZW1lbnQgU2FmZXR5 IEZlYXR1cmVzIGluCj4gPiA+IFhHTUFDIGNvcmUiKSBjaGVja3MgYW5kIHJlcG9ydHMgc2FmZXR5 IGVycm9ycywgYnV0IGxlYXZlcyB0aGUKPiA+ID4gRGF0YSBQYXRoIFBhcml0eSBFcnJvcnMgZm9y IGVhY2ggY2hhbm5lbCBpbiBETUEgdW5oYW5kbGVkIGF0IGFsbCwgbGVhZCB0bwo+ID4gPiBhIHN0 b3JtIG9mIGludGVycnVwdC4KPiA+ID4gRml4IGl0IGJ5IGNoZWNraW5nIGFuZCBjbGVhcmluZyB0 aGUgRE1BX0RQUF9JbnRlcnJ1cHRfU3RhdHVzIHJlZ2lzdGVyLgo+ID4gPiAKPiA+ID4gRml4ZXM6 IDU2ZTU4ZDZjOGE1NiAoIm5ldDogc3RtbWFjOiBJbXBsZW1lbnQgU2FmZXR5IEZlYXR1cmVzIGlu IFhHTUFDIGNvcmUiKQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBGdXJvbmcgWHUgPDB4MTIwN0BnbWFp bC5jb20+Cj4gPiA+IFJldmlld2VkLWJ5OiBTaW1vbiBIb3JtYW4gPGhvcm1zQGtlcm5lbC5vcmc+ Cj4gPiA+IFJldmlld2VkLWJ5OiBTZXJnZSBTZW1pbiA8ZmFuY2VyLmxhbmNlckBnbWFpbC5jb20+ Cj4gPiA+IC0tLQo+ID4gPiBDaGFuZ2VzIGluIHY0Ogo+ID4gPiAgIC0gZml4IGEgdHlwbyBuYW1l IG9mIEREUFAgYml0LCB0aGFua3MgU2VyZ2UgU2VtaW4KPiA+ID4gCj4gPiA+IENoYW5nZXMgaW4g djM6Cj4gPiA+ICAgLSBjb2RlIHN0eWxlIGZpeCwgdGhhbmtzIFBhb2xvIEFiZW5pCj4gPiA+IAo+ ID4gPiBDaGFuZ2VzIGluIHYyOgo+ID4gPiAgICAtIGV4cGxpY2l0IGVuYWJsZSBEYXRhIFBhdGgg UGFyaXR5IFByb3RlY3Rpb24KPiA+ID4gICAgLSBhZGQgbmV3IGNvdW50ZXJzIHRvIHN0bW1hY19z YWZldHlfc3RhdHMKPiA+ID4gICAgLSBhZGQgZGV0YWlsZWQgbG9nCj4gPiA+IC0tLQo+ID4gPiAg IGRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2NvbW1vbi5oICB8ICAxICsKPiA+ ID4gICAuLi4vbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3eGdtYWMyLmggICAgfCAgMyAr Cj4gPiA+ICAgLi4uL2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3eGdtYWMyX2NvcmUuYyAgIHwg NTcgKysrKysrKysrKysrKysrKysrLQo+ID4gPiAgIDMgZmlsZXMgY2hhbmdlZCwgNjAgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQo+ID4gPiAKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2NvbW1vbi5oIGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvc3RtaWNyby9zdG1tYWMvY29tbW9uLmgKPiA+ID4gaW5kZXggNzIxYzFmOGU4OTJmLi5iNGY2 MGFiMDc4ZDYgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8v c3RtbWFjL2NvbW1vbi5oCj4gPiA+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8v c3RtbWFjL2NvbW1vbi5oCj4gPiA+IEBAIC0yMTYsNiArMjE2LDcgQEAgc3RydWN0IHN0bW1hY19z YWZldHlfc3RhdHMgewo+ID4gPiAgIAl1bnNpZ25lZCBsb25nIG1hY19lcnJvcnNbMzJdOwo+ID4g PiAgIAl1bnNpZ25lZCBsb25nIG10bF9lcnJvcnNbMzJdOwo+ID4gPiAgIAl1bnNpZ25lZCBsb25n IGRtYV9lcnJvcnNbMzJdOwo+ID4gPiArCXVuc2lnbmVkIGxvbmcgZG1hX2RwcF9lcnJvcnNbMzJd Owo+ID4gPiAgIH07Cj4gPiA+ICAgLyogTnVtYmVyIG9mIGZpZWxkcyBpbiBTYWZldHkgU3RhdHMg Ki8KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFj L2R3eGdtYWMyLmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd3hnbWFj Mi5oCj4gPiA+IGluZGV4IDIwN2ZmMTc5OWYyYy4uNWM2N2EzZjg5ZjA4IDEwMDY0NAo+ID4gPiAt LS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd3hnbWFjMi5oCj4gPiA+ ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3eGdtYWMyLmgKPiA+ ID4gQEAgLTMwMyw2ICszMDMsOCBAQAo+ID4gPiAgICNkZWZpbmUgWEdNQUNfUlhDRUlFCQkJQklU KDQpCj4gPiA+ICAgI2RlZmluZSBYR01BQ19UWENFSUUJCQlCSVQoMCkKPiA+ID4gICAjZGVmaW5l IFhHTUFDX01UTF9FQ0NfSU5UX1NUQVRVUwkweDAwMDAxMGNjCj4gPiA+ICsjZGVmaW5lIFhHTUFD X01UTF9EUFBfQ09OVFJPTAkJMHgwMDAwMTBlMAo+ID4gPiArI2RlZmluZSBYR01BQ19EUFBfRElT QUJMRQkJQklUKDApCj4gPiA+ICAgI2RlZmluZSBYR01BQ19NVExfVFhRX09QTU9ERSh4KQkJKDB4 MDAwMDExMDAgKyAoMHg4MCAqICh4KSkpCj4gPiA+ICAgI2RlZmluZSBYR01BQ19UUVMJCQlHRU5N QVNLKDI1LCAxNikKPiA+ID4gICAjZGVmaW5lIFhHTUFDX1RRU19TSElGVAkJCTE2Cj4gPiA+IEBA IC0zODUsNiArMzg3LDcgQEAKPiA+ID4gICAjZGVmaW5lIFhHTUFDX0RDRUlFCQkJQklUKDEpCj4g PiA+ICAgI2RlZmluZSBYR01BQ19UQ0VJRQkJCUJJVCgwKQo+ID4gPiAgICNkZWZpbmUgWEdNQUNf RE1BX0VDQ19JTlRfU1RBVFVTCTB4MDAwMDMwNmMKPiA+ID4gKyNkZWZpbmUgWEdNQUNfRE1BX0RQ UF9JTlRfU1RBVFVTCTB4MDAwMDMwNzQKPiA+ID4gICAjZGVmaW5lIFhHTUFDX0RNQV9DSF9DT05U Uk9MKHgpCQkoMHgwMDAwMzEwMCArICgweDgwICogKHgpKSkKPiA+ID4gICAjZGVmaW5lIFhHTUFD X1NQSAkJCUJJVCgyNCkKPiA+ID4gICAjZGVmaW5lIFhHTUFDX1BCTHg4CQkJQklUKDE2KQo+ID4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHd4Z21h YzJfY29yZS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHd4Z21hYzJf Y29yZS5jCj4gPiA+IGluZGV4IGViNDgyMTFkOWIwZS4uMDRkN2M0ZGMyZTM1IDEwMDY0NAo+ID4g PiAtLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd3hnbWFjMl9jb3Jl LmMKPiA+ID4gKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHd4Z21h YzJfY29yZS5jCj4gPiA+IEBAIC04MzAsNiArODMwLDQzIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZHd4Z21hYzNfZXJyb3JfZGVzYyBkd3hnbWFjM19kbWFfZXJyb3JzWzMyXT0gewo+ID4gPiAgIAl7 IGZhbHNlLCAiVU5LTk9XTiIsICJVbmtub3duIEVycm9yIiB9LCAvKiAzMSAqLwo+ID4gPiAgIH07 Cj4gPiA+ICtzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGRwcF9yeF9lcnIgPSAiUmVhZCBSeCBE ZXNjcmlwdG9yIFBhcml0eSBjaGVja2VyIEVycm9yIjsKPiA+ID4gK3N0YXRpYyBjb25zdCBjaGFy ICogY29uc3QgZHBwX3R4X2VyciA9ICJSZWFkIFR4IERlc2NyaXB0b3IgUGFyaXR5IGNoZWNrZXIg RXJyb3IiOwo+ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkd3hnbWFjM19lcnJvcl9kZXNjIGR3 eGdtYWMzX2RtYV9kcHBfZXJyb3JzWzMyXSA9IHsKPiA+ID4gKwl7IHRydWUsICJURFBFUzAiLCBk cHBfdHhfZXJyIH0sCj4gPiA+ICsJeyB0cnVlLCAiVERQRVMxIiwgZHBwX3R4X2VyciB9LAo+ID4g PiArCXsgdHJ1ZSwgIlREUEVTMiIsIGRwcF90eF9lcnIgfSwKPiA+ID4gKwl7IHRydWUsICJURFBF UzMiLCBkcHBfdHhfZXJyIH0sCj4gPiA+ICsJeyB0cnVlLCAiVERQRVM0IiwgZHBwX3R4X2VyciB9 LAo+ID4gPiArCXsgdHJ1ZSwgIlREUEVTNSIsIGRwcF90eF9lcnIgfSwKPiA+ID4gKwl7IHRydWUs ICJURFBFUzYiLCBkcHBfdHhfZXJyIH0sCj4gPiA+ICsJeyB0cnVlLCAiVERQRVM3IiwgZHBwX3R4 X2VyciB9LAo+ID4gPiArCXsgdHJ1ZSwgIlREUEVTOCIsIGRwcF90eF9lcnIgfSwKPiA+ID4gKwl7 IHRydWUsICJURFBFUzkiLCBkcHBfdHhfZXJyIH0sCj4gPiA+ICsJeyB0cnVlLCAiVERQRVMxMCIs IGRwcF90eF9lcnIgfSwKPiA+ID4gKwl7IHRydWUsICJURFBFUzExIiwgZHBwX3R4X2VyciB9LAo+ ID4gPiArCXsgdHJ1ZSwgIlREUEVTMTIiLCBkcHBfdHhfZXJyIH0sCj4gPiA+ICsJeyB0cnVlLCAi VERQRVMxMyIsIGRwcF90eF9lcnIgfSwKPiA+ID4gKwl7IHRydWUsICJURFBFUzE0IiwgZHBwX3R4 X2VyciB9LAo+ID4gPiArCXsgdHJ1ZSwgIlREUEVTMTUiLCBkcHBfdHhfZXJyIH0sCj4gPiA+ICsJ eyB0cnVlLCAiUkRQRVMwIiwgZHBwX3J4X2VyciB9LAo+ID4gPiArCXsgdHJ1ZSwgIlJEUEVTMSIs IGRwcF9yeF9lcnIgfSwKPiA+ID4gKwl7IHRydWUsICJSRFBFUzIiLCBkcHBfcnhfZXJyIH0sCj4g PiA+ICsJeyB0cnVlLCAiUkRQRVMzIiwgZHBwX3J4X2VyciB9LAo+ID4gPiArCXsgdHJ1ZSwgIlJE UEVTNCIsIGRwcF9yeF9lcnIgfSwKPiA+ID4gKwl7IHRydWUsICJSRFBFUzUiLCBkcHBfcnhfZXJy IH0sCj4gPiA+ICsJeyB0cnVlLCAiUkRQRVM2IiwgZHBwX3J4X2VyciB9LAo+ID4gPiArCXsgdHJ1 ZSwgIlJEUEVTNyIsIGRwcF9yeF9lcnIgfSwKPiA+ID4gKwl7IHRydWUsICJSRFBFUzgiLCBkcHBf cnhfZXJyIH0sCj4gPiA+ICsJeyB0cnVlLCAiUkRQRVM5IiwgZHBwX3J4X2VyciB9LAo+ID4gPiAr CXsgdHJ1ZSwgIlJEUEVTMTAiLCBkcHBfcnhfZXJyIH0sCj4gPiA+ICsJeyB0cnVlLCAiUkRQRVMx MSIsIGRwcF9yeF9lcnIgfSwKPiA+ID4gKwl7IHRydWUsICJSRFBFUzEyIiwgZHBwX3J4X2VyciB9 LAo+ID4gPiArCXsgdHJ1ZSwgIlJEUEVTMTMiLCBkcHBfcnhfZXJyIH0sCj4gPiA+ICsJeyB0cnVl LCAiUkRQRVMxNCIsIGRwcF9yeF9lcnIgfSwKPiA+ID4gKwl7IHRydWUsICJSRFBFUzE1IiwgZHBw X3J4X2VyciB9LAo+ID4gPiArfTsKPiA+ID4gKwo+ID4gPiAgIHN0YXRpYyB2b2lkIGR3eGdtYWMz X2hhbmRsZV9kbWFfZXJyKHN0cnVjdCBuZXRfZGV2aWNlICpuZGV2LAo+ID4gPiAgIAkJCQkgICAg dm9pZCBfX2lvbWVtICppb2FkZHIsIGJvb2wgY29ycmVjdGFibGUsCj4gPiA+ICAgCQkJCSAgICBz dHJ1Y3Qgc3RtbWFjX3NhZmV0eV9zdGF0cyAqc3RhdHMpCj4gPiA+IEBAIC04NDEsNiArODc4LDEz IEBAIHN0YXRpYyB2b2lkIGR3eGdtYWMzX2hhbmRsZV9kbWFfZXJyKHN0cnVjdCBuZXRfZGV2aWNl ICpuZGV2LAo+ID4gPiAgIAlkd3hnbWFjM19sb2dfZXJyb3IobmRldiwgdmFsdWUsIGNvcnJlY3Rh YmxlLCAiRE1BIiwKPiA+ID4gICAJCQkgICBkd3hnbWFjM19kbWFfZXJyb3JzLCBTVEFUX09GRihk bWFfZXJyb3JzKSwgc3RhdHMpOwo+ID4gPiArCj4gPiA+ICsJdmFsdWUgPSByZWFkbChpb2FkZHIg KyBYR01BQ19ETUFfRFBQX0lOVF9TVEFUVVMpOwo+ID4gPiArCXdyaXRlbCh2YWx1ZSwgaW9hZGRy ICsgWEdNQUNfRE1BX0RQUF9JTlRfU1RBVFVTKTsKPiA+ID4gKwo+ID4gPiArCWR3eGdtYWMzX2xv Z19lcnJvcihuZGV2LCB2YWx1ZSwgZmFsc2UsICJETUFfRFBQIiwKPiA+ID4gKwkJCSAgIGR3eGdt YWMzX2RtYV9kcHBfZXJyb3JzLAo+ID4gPiArCQkJICAgU1RBVF9PRkYoZG1hX2RwcF9lcnJvcnMp LCBzdGF0cyk7Cj4gPiA+ICAgfQo+ID4gPiAgIHN0YXRpYyBpbnQKPiA+ID4gQEAgLTg4MSw2ICs5 MjUsMTIgQEAgZHd4Z21hYzNfc2FmZXR5X2ZlYXRfY29uZmlnKHZvaWQgX19pb21lbSAqaW9hZGRy LCB1bnNpZ25lZCBpbnQgYXNwLAo+ID4gPiAgIAl2YWx1ZSB8PSBYR01BQ19UTU9VVEVOOyAvKiBG U00gVGltZW91dCBGZWF0dXJlICovCj4gPiA+ICAgCXdyaXRlbCh2YWx1ZSwgaW9hZGRyICsgWEdN QUNfTUFDX0ZTTV9DT05UUk9MKTsKPiA+ID4gKwkvKiA1LiBFbmFibGUgRGF0YSBQYXRoIFBhcml0 eSBQcm90ZWN0aW9uICovCj4gPiA+ICsJdmFsdWUgPSByZWFkbChpb2FkZHIgKyBYR01BQ19NVExf RFBQX0NPTlRST0wpOwo+ID4gPiArCS8qIGFscmVhZHkgZW5hYmxlZCBieSBkZWZhdWx0LCBleHBs aWNpdCBlbmFibGUgaXQgYWdhaW4gKi8KPiA+ID4gKwl2YWx1ZSAmPSB+WEdNQUNfRFBQX0RJU0FC TEU7Cj4gPiA+ICsJd3JpdGVsKHZhbHVlLCBpb2FkZHIgKyBYR01BQ19NVExfRFBQX0NPTlRST0wp Owo+ID4gPiArCj4gPiA+ICAgCXJldHVybiAwOwo+ID4gPiAgIH0KPiA+ID4gQEAgLTkxNCw3ICs5 NjQsMTEgQEAgc3RhdGljIGludCBkd3hnbWFjM19zYWZldHlfZmVhdF9pcnFfc3RhdHVzKHN0cnVj dCBuZXRfZGV2aWNlICpuZGV2LAo+ID4gPiAgIAkJcmV0IHw9ICFjb3JyOwo+ID4gPiAgIAl9Cj4g PiA+IC0JZXJyID0gZG1hICYgKFhHTUFDX0RFVUlTIHwgWEdNQUNfREVDSVMpOwo+ID4gPiArCS8q IERNQV9EUFBfSW50ZXJydXB0X1N0YXR1cyBpcyBpbmRpY2F0ZWQgYnkgTUNTSVMgYml0IGluCj4g PiA+ICsJICogRE1BX1NhZmV0eV9JbnRlcnJ1cHRfU3RhdHVzLCBzbyB3ZSBoYW5kbGUgRE1BIERh dGEgUGF0aAo+ID4gPiArCSAqIFBhcml0eSBFcnJvcnMgaGVyZQo+ID4gPiArCSAqLwo+ID4gPiAr CWVyciA9IGRtYSAmIChYR01BQ19ERVVJUyB8IFhHTUFDX0RFQ0lTIHwgWEdNQUNfTUNTSVMpOwo+ ID4gPiAgIAljb3JyID0gZG1hICYgWEdNQUNfREVDSVM7Cj4gPiA+ICAgCWlmIChlcnIpIHsKPiA+ ID4gICAJCWR3eGdtYWMzX2hhbmRsZV9kbWFfZXJyKG5kZXYsIGlvYWRkciwgY29yciwgc3RhdHMp Owo+ID4gPiBAQCAtOTMwLDYgKzk4NCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHd4Z21hYzNf ZXJyb3Igewo+ID4gPiAgIAl7IGR3eGdtYWMzX21hY19lcnJvcnMgfSwKPiA+ID4gICAJeyBkd3hn bWFjM19tdGxfZXJyb3JzIH0sCj4gPiA+ICAgCXsgZHd4Z21hYzNfZG1hX2Vycm9ycyB9LAo+ID4g PiArCXsgZHd4Z21hYzNfZG1hX2RwcF9lcnJvcnMgfSwKPiA+ID4gICB9Owo+ID4gPiAgIHN0YXRp YyBpbnQgZHd4Z21hYzNfc2FmZXR5X2ZlYXRfZHVtcChzdHJ1Y3Qgc3RtbWFjX3NhZmV0eV9zdGF0 cyAqc3RhdHMsCj4gPiAKPiA+IAo+ID4gVGhpcyBjaGFuZ2UgaXMgYnJlYWtpbmcgdGhlIGJ1aWxk IG9uIHNvbWUgb2Ygb3VyIGJ1aWxkZXJzIHRoYXQgYXJlIHN0aWxsIHVzaW5nIEdDQyA2LnggLi4u Cj4gPiAKPiA+IGRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3eGdtYWMyX2Nv cmUuYzo4MzY6MjA6IGVycm9yOiBpbml0aWFsaXNlciBlbGVtZW50IGlzIG5vdCBjb25zdGFudAo+ ID4gICB7IHRydWUsICJURFBFUzAiLCBkcHBfdHhfZXJyIH0sCj4gPiAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn4KPiA+IGRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3 eGdtYWMyX2NvcmUuYzo4MzY6MjA6IG5vdGU6IChuZWFyIGluaXRpYWxpc2F0aW9uIGZvciDigJhk d3hnbWFjM19kbWFfZHBwX2Vycm9yc1swXS5kZXRhaWxlZF9kZXNj4oCZKQo+ID4gZHJpdmVycy9u ZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHd4Z21hYzJfY29yZS5jOjgzNzoyMDogZXJyb3I6 IGluaXRpYWxpc2VyIGVsZW1lbnQgaXMgbm90IGNvbnN0YW50Cj4gPiAgIHsgdHJ1ZSwgIlREUEVT MSIsIGRwcF90eF9lcnIgfSwKPiA+ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fgo+ID4g ZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHd4Z21hYzJfY29yZS5jOjgzNzoy MDogbm90ZTogKG5lYXIgaW5pdGlhbGlzYXRpb24gZm9yIOKAmGR3eGdtYWMzX2RtYV9kcHBfZXJy b3JzWzFdLmRldGFpbGVkX2Rlc2PigJkpCj4gPiAuLi4KPiA+IAo+ID4gSSBrbm93IHRoYXQgdGhp cyBpcyBxdWl0ZSBvbGQgYnV0IHRoZSBtaW5pbXVtIHN1cHBvcnRlZCBieSB0aGUga2VybmVsIGlz IHY1LjEgLi4uCj4gPiAKPiA+IGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvZG9jL2h0bWwvbmV4dC9w cm9jZXNzL2NoYW5nZXMuaHRtbAo+IAo+IFRoYW5rcyBKb24sCj4gCj4gSSBzZXBhcmF0ZWx5IHJl Y2VpdmVkIGEgbm90aWZpY2F0aW9uIGFib3V0IHRoaXMgb2NjdXJyaW5nIHdpdGggZ2NjIDcuCj4g Cj4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvb2Uta2J1aWxkLWFsbC8yMDI0MDIwODExMzUubEF4 eEJYSGstbGtwQGludGVsLmNvbS8KPiAKPiBJdCBpcyB1bmNsZWFyIHRvIG1lIHdoeSB0aGlzIG9j Y3VycywgYXMgZHBwX3R4X2VyciBhbmQgZHBwX3R4X2VyciBhcmUgY29uc3QuCj4gQnV0IEkgZG8g c2VlbSB0byBiZSBhYmxlIHRvIGFkZHJlc3MgdGhpcyBwcm9ibGVtIGJ5IHVzaW5nICNkZWZpbmVz IGZvcgo+IHRoZXNlIHZhbHVlcyBpbnN0ZWFkLgo+IAo+IEkgcGxhbiB0byBwb3N0IGEgcGF0Y2gg c2hvcnRseS4KClBhdGNoIHBvc3RlZDoKLSBbUEFUQ0ggbmV0XSBuZXQ6IHN0bW1hYzogeGdtYWM6 IHVzZSAjZGVmaW5lIGZvciBzdHJpbmcgY29uc3RhbnRzCiAgaHR0cHM6Ly9sb3JlLmtlcm5lbC5v cmcvbmV0ZGV2LzIwMjQwMjA4LXhnbWFjLWNvbnN0LXYxLTEtZTY5YTFlZWFiZmM4QGtlcm5lbC5v cmcvCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlu dXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRl YWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgt YXJtLWtlcm5lbAo=