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 C4930C43217 for ; Thu, 20 Oct 2022 17:13:21 +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: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:References: List-Owner; bh=Aa3j9ZZdsB/+J4oIfCF/d9pL/mKg5+lKS+VrRUOI38o=; b=sdo4cYhG0/zzeH f9NnJkPGQtCwx0AIJ0RTqy8q0j40NRSV7W6w9Kknf6d79K38dyRGodPEqDiff6ej/RUMfIl+u94ma 2JNpb6IfFAk4h0i5IfgD+dH4Sm489tjuunwsGVnMg3x9iTK6Db34Ocu7qwjiokLIkkyhkFpWQFaFX spvBpnu5FWrEXp4aANeEu5CXrnENApA7uUnUVha0/1k63qIjacWH8OGwyl3BZMdkO1sOM1MFzVdIW IihJWG5XLX/jl6Kd88O2P3i6kkKHRzbDgeN9OC6yRGM9LXl3j2hXYOCn972tKlsqdliLRTAOoJy/l d7Pzm/WHFHl9ZS0L+sjA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1olZ5i-000mVR-Jw; Thu, 20 Oct 2022 17:12:22 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1olZ5d-000mSn-On for linux-arm-kernel@lists.infradead.org; Thu, 20 Oct 2022 17:12:20 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 08BCC61CAF; Thu, 20 Oct 2022 17:12:15 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3EF1CC433C1; Thu, 20 Oct 2022 17:12:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1666285934; bh=JAbklPdWA2kNdSMvOQRBF6Ch5NifGjOncSXTOt9A7WA=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=YBU+i3Rc69OnfayDbsDVf6+t8E46fzm125M6mX9NwPHQ3cKl4b97FDk86RC+wM4RA Mh3HPnilZs66oyCdtApQnm12b20T7bAdSPngYTU/D9Y80e6AbetSqF9cdFH4xTD0PI x4iCZ2gvczPrXiOX7L8lKbSoOaqIwg3+sATUtcbhtbIJttHz8devZSK+gAUZEwu2VE kVWhREi3ZkyS+2L32w9RD5hAC/17hvMsdMl/hGhCobBAZkmCVunL/Gw/cEck1Q7kPz A8nrKmZcajXQT3OaHB2pX1bNHrtwMfgffPVPvYLaEptMd7t3poN2D70CL2HFQUOKdT jBkEEaFDkN82w== Date: Thu, 20 Oct 2022 12:12:12 -0500 From: Bjorn Helgaas To: Elad Nachman Cc: Pali =?iso-8859-1?Q?Roh=E1r?= , Lorenzo Pieralisi , Bjorn Helgaas , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , "linux-pci@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" Subject: Re: [EXT] Re: [PATCH v2] PCI: aardvark: Implement workaround for PCIe Completion Timeout Message-ID: <20221020171212.GA132958@bhelgaas> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221020_101217_925273_B0EF8574 X-CRM114-Status: GOOD ( 66.21 ) 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 T24gVGh1LCBPY3QgMDYsIDIwMjIgYXQgMDg6MTQ6NDhBTSArMDAwMCwgRWxhZCBOYWNobWFuIHdy b3RlOgo+IEhpLAo+IAo+IFJlZ2FyZGluZyBudW1iZXIgIzEgOgo+IFRoZSBIL1cgZXJyYXR1bSBt ZWFucyBzdHJvbmcgb3JkZXJpbmcgbW9kZSBpcyBub3QgcHJvcGVybHkKPiBpbXBsZW1lbnRlZCBp biB0aGUgSC9XLiAgVGhlIHdvcmthcm91bmQgaXMgdG8gc2V0IERJU19PUkRfQ0hLIHRvCj4gZGlz YWJsZSB0aGUgb3JkZXJlZCBjaGVjaywgdG8gcHJldmVudCB0aGUgaXNzdWVzIFBhbGkgbWVudGlv bmVkLgo+Cj4gTGVhdmluZyBpdCB3aXRob3V0IHRoZSB3b3JrYXJvdW5kIG1lYW5zIGVuY291bnRl cmluZyB0aGUgY3Jhc2hlcwo+IFBhbGkgbWVudGlvbmVkLiAgVGhlIEgvVyB3YXMgb3JpZ2luYWxs eSBkZXNpZ25lZCB0byBoYXZlIHRoZSBzdHJvbmcKPiBvcmRlcmluZyBtb2RlLCBwZXIgd2hhdCBp cyBleHBlY3RlZCBvZiBQQ0kgRXhwcmVzcywgYnV0IGR1ZSB0byB0aGlzCj4gZXJyYXR1bSwgaXQg Y2Fubm90IGJlIHN1cHBvcnRlZCBieSB0aGUgdGFwZWQtb3V0IEgvVy4gIFRoZXJlIGlzCj4gbm90 aGluZyB0byBkbyBhYm91dCBpdCBub3cgaW4gdGhlIEgvVywgYXMgdGhpcyBpcyBhIHllYXJzIG9s ZCBTT0MuCj4gU29mdHdhcmUgd2lzZSB0aGUgb25seSBvcHRpb24gaXMgdGhlIHdvcmthcm91bmQg YWJvdmUsIG9yIHRvIGFjY2VwdAo+IHNwb3JhZGljIGNyYXNoZXMgb2YgdGhlIGtlcm5lbC4KPiAK PiBSZWdhcmRpbmcgbnVtYmVyICMyIDoKPiBUaGUgaW1wYWN0IG9mIHRoZSB3b3JrYXJvdW5kIGlz IHRoYXQgdGhlIERNQSBkb25lIHN0YXR1cyBjb3VsZCBiZQo+IHNldCBiZWZvcmUgdGhlIGxhc3Qg ZGF0YSBpcyB3cml0dGVuIHRvIHRoZSBob3N0IG1lbW9yeSwgY2F1c2luZyB0aGUKPiBob3N0IHRv IHJlYWQgaW5jb21wbGV0ZSBkYXRhLiBUaGlzIGlzIHRoZSByZWFzb24gd2h5IEkgcmVjb21tZW5k ZWQKPiB0byBhZGQgYSBtZW1vcnkgYmFycmllci4gSWYgdGhpcyBpcyBib3RoZXJpbmcsIHRoZSBt ZW1vcnkgYmFycmllcgo+IGNhbiBiZSByZW1vdmVkIGZyb20gdGhlIHBhdGNoLCBhbHRob3VnaCBJ IHN1Z2dlc3QgdG8gdGhvcm91Z2hseSB0ZXN0Cj4gdGhlIGRhdGEgaW50ZWdyaXR5IGlmIGltcGxl bWVudGluZyB0aGUgcGF0Y2ggd2l0aG91dCB0aGUgbWVtb3J5Cj4gYmFycmllci4KClRoYW5rIHlv dSB2ZXJ5IG11Y2ggZm9yIHRoZXNlIGRldGFpbHMsIEVsYWQuCgpJZiBJIHVuZGVyc3RhbmQgY29y cmVjdGx5LCB0aGlzIHBhdGNoIGF2b2lkcyBtYW55IGlzc3VlcyAob3IgYXQgbGVhc3QKbWFrZXMg dGhlbSBtdWNoIGxlc3MgbGlrZWx5KSwgYnV0IHRoZXJlIGlzIHN0aWxsIGEgc21hbGwgcG9zc2li aWxpdHkKb2YgY29ybmVyIGNhc2VzIHdoZXJlIGEgY29ycmVjdGx5LXdyaXR0ZW4gZHJpdmVyIHdv dWxkIHdvcmsgb24gb3RoZXIKcGxhdGZvcm1zIGJ1dCBub3Qgb24gdGhpcyBoYXJkd2FyZS4KClNp bmNlIHRoaXMgZGVmaW5pdGVseSBpbXByb3ZlcyB0aGluZ3MgZHJhbWF0aWNhbGx5LCBJIHRoaW5r IGl0J3Mgd29ydGgKZG9pbmcgZXZlbiBpZiBpdCdzIG5vdCBhYnNvbHV0ZWx5IDEwMCUuICBUaGUg Y29tbWl0IGxvZyBhbmQgY29kZQpjb21tZW50cyBzaG91bGQgYmUgZW5vdWdoIG9mIGEgaGludC4K Cj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiBGcm9tOiBQYWxpIFJvaMOhciA8cGFsaUBr ZXJuZWwub3JnPiAKPiBTZW50OiBUdWVzZGF5LCBPY3RvYmVyIDQsIDIwMjIgMTE6NDAgQU0KPiBU bzogRWxhZCBOYWNobWFuIDxlbmFjaG1hbkBtYXJ2ZWxsLmNvbT47IExvcmVuem8gUGllcmFsaXNp IDxscGllcmFsaXNpQGtlcm5lbC5vcmc+Cj4gQ2M6IEJqb3JuIEhlbGdhYXMgPGJoZWxnYWFzQGdv b2dsZS5jb20+OyBLcnp5c3p0b2YgV2lsY3p5xYRza2kgPGt3QGxpbnV4LmNvbT47IGxpbnV4LXBj aUB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZzsg bGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZwo+IFN1YmplY3Q6IFJlOiBbRVhUXSBSZTogW1BB VENIIHYyXSBQQ0k6IGFhcmR2YXJrOiBJbXBsZW1lbnQgd29ya2Fyb3VuZCBmb3IgUENJZSBDb21w bGV0aW9uIFRpbWVvdXQKPiAKPiArIEVsYWQKPiAKPiBDb3VsZCB5b3UgcGxlYXNlIGxvb2sgYXQg TG9yZW56bydzIGNvbW1lbnRzIGFuZCBoZWxwIHdpdGggdGhpcyBmaXg/Cj4gCj4gT24gVHVlc2Rh eSAwNCBPY3RvYmVyIDIwMjIgMTA6MDI6MzIgTG9yZW56byBQaWVyYWxpc2kgd3JvdGU6Cj4gPiBP biBNb24sIE9jdCAwMywgMjAyMiBhdCAxMToxNDoxMlBNICswMjAwLCBQYWxpIFJvaMOhciB3cm90 ZToKPiA+ID4gTG9yZW56bywgaXMgc29tZXRoaW5nIG1vcmUgbmVlZGVkIGZvciB0aGlzIHBhdGNo PyBBcyBpdCB3b3JrYXJvdW5kcyAKPiA+ID4gY3Jhc2hpbmcgaXQgaXMgcmVhbGx5IG5lZWRlZCB0 byBoYXZlIGl0IGluIG1haW5saW5lIGFuZCBiYWNrcG9ydHMuCj4gPiAKPiA+IFllcywgYSBjbGVh ciBleHBsYW5hdGlvbiBmcm9tIE1hcnZlbGwgYWJvdXQgd2hhdCB0aGlzIGlzIGFjdHVhbGx5IAo+ ID4gZml4aW5nIC0gaXQgdG9vayBtZSBhIHdoaWxlIHRvIGdvIHRocm91Z2ggdGhlIHdob2xlIHRo cmVhZCBidXQgSSBzdGlsbCAKPiA+IGRvbid0IHVuZGVyc3RhbmQgd2hhdCB0aGlzIHBhdGNoIGFj dHVhbGx5IGRvZXMgYW5kIHdoeS4KPiA+IAo+ID4gQW4gRXJyYXR1bSB3b3JrYXJvdW5kIChpZiB0 aGVyZSBpcyBhbnkpIHNob3VsZCBkZWZpbmUgYW5kIGV4cGxhaW4gYSBTVyAKPiA+IHdvcmthcm91 bmQuCj4gPiAKPiA+ICgxKSBCam9ybidzIGNvbmNlcm5zIGluIHJlbGF0aW9uIHRvIFBDSSBtZW1v cnkgbW9kZWwgd2VyZW4ndCBhZGRyZXNzZWQKPiA+ICgyKSBXZSBkb24ndCBhZGQgdW5kb2N1bWVu dGVkIG1lbW9yeSBiYXJyaWVycyB0byB0aGUga2VybmVsIHRvICJtaW5pbWl6ZQo+ID4gICAgIHJp c2tzIi4gRWl0aGVyIHdlIGZpeCBhIGJ1ZyBvciB3ZSBkb24ndC4gSWYgd2UgZG8sIHdyaXRlIHRo YXQgZG93bgo+ID4gICAgIGFuZCBkb2N1bWVudCB3aHkgdGhlIGJhcnJpZXIgaXMgdGhlcmUgYW5k IHRoZSBpc3N1ZSBpdCBzb2x2ZXMuCj4gPiAKPiA+IEkgdW5kZXJzdGFuZCB0aGF0IGJhc2ljYWxs eSB5b3UgYXJlIHJldmVyc2UgZW5naW5lZXJpbmcgYSBIVyBidWcgYnV0IEkgCj4gPiBhbSBhZnJh aWQgd2UgY2FuJ3QgZml4IHRoZSBrZXJuZWwgdGhpcyB3YXkgLSBtb3JlIHNvIHdpdGggcGF0Y2hl cyAKPiA+IGdvaW5nIHRvIGJlIGJhY2twb3J0ZWQgdG8gc3RhYmxlIGtlcm5lbHMuCj4gPiAKPiA+ IExvcmVuem8KPiA+IAo+ID4gPiBPbiBXZWRuZXNkYXkgMjggU2VwdGVtYmVyIDIwMjIgMTQ6MDU6 MTAgRWxhZCBOYWNobWFuIHdyb3RlOgo+ID4gPiA+IFJldmlld2VkLWJ5OiBFbGFkIE5hY2htYW4g PGVuYWNobWFuQG1hcnZlbGwuY29tPgo+ID4gPiA+IAo+ID4gPiA+IFRoYW5rcywKPiA+ID4gPiAK PiA+ID4gPiBFbGFkLgo+ID4gPiA+IAo+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t Cj4gPiA+ID4gRnJvbTogUGFsaSBSb2jDoXIgPHBhbGlAa2VybmVsLm9yZz4KPiA+ID4gPiBTZW50 OiBNb25kYXksIFNlcHRlbWJlciAyNiwgMjAyMiAzOjM1IFBNCj4gPiA+ID4gVG86IEVsYWQgTmFj aG1hbiA8ZW5hY2htYW5AbWFydmVsbC5jb20+Cj4gPiA+ID4gQ2M6IFRob21hcyBQZXRhenpvbmkg PHRob21hcy5wZXRhenpvbmlAYm9vdGxpbi5jb20+OyBMb3JlbnpvIAo+ID4gPiA+IFBpZXJhbGlz aSA8bHBpZXJhbGlzaUBrZXJuZWwub3JnPjsgQmpvcm4gSGVsZ2FhcyAKPiA+ID4gPiA8YmhlbGdh YXNAZ29vZ2xlLmNvbT47IEtyenlzenRvZiBXaWxjennFhHNraSA8a3dAbGludXguY29tPjsgUm9i IAo+ID4gPiA+IEhlcnJpbmcgPHJvYmhAa2VybmVsLm9yZz47IGxpbnV4LXBjaUB2Z2VyLmtlcm5l bC5vcmc7IAo+ID4gPiA+IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZzsgCj4g PiA+ID4gbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgR3JlZ29yeSBDbGVtZW50IAo+ID4g PiA+IDxncmVnb3J5LmNsZW1lbnRAYm9vdGxpbi5jb20+OyBNYXJlayBCZWjDum4gPGthYmVsQGtl cm5lbC5vcmc+OyAKPiA+ID4gPiBSZW1pIFBvbW1hcmVsIDxyZXBrQHRyaXBsZWZhdS5sdD47IFhv Z2l1bSA8Y29udGFjdEB4b2dpdW0ubWU+OyAKPiA+ID4gPiBUb21hc3ogTWFjaWVqIE5vd2FrIDx0 bW41MDVAZ21haWwuY29tPgo+ID4gPiA+IFN1YmplY3Q6IFtFWFRdIFJlOiBbUEFUQ0ggdjJdIFBD STogYWFyZHZhcms6IEltcGxlbWVudCB3b3JrYXJvdW5kIAo+ID4gPiA+IGZvciBQQ0llIENvbXBs ZXRpb24gVGltZW91dAo+ID4gPiA+IAo+ID4gPiA+IEV4dGVybmFsIEVtYWlsCj4gPiA+ID4gCj4g PiA+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCj4gPiA+ID4gLS0tLSBIZWxsbyBFbGFkLCBjb3VsZCB5b3UgcGxlYXNl IHJldmlldyB0aGlzIHBhdGNoPyBJIGhhdmUgCj4gPiA+ID4gaW1wbGVtZW50ZWQgaXQgYWNjb3Jk aW5nIHlvdXIgaW5zdHJ1Y3Rpb25zLCBpbmNsdWRpbmcgdGhhdCBmdWxsIG1lbW9yeSBiYXJyaWVy IGFzIHlvdSBkZXNjcmliZWQuCj4gPiA+ID4gCj4gPiA+ID4gT24gVHVlc2RheSAwMiBBdWd1c3Qg MjAyMiAxNDozODoxNiBQYWxpIFJvaMOhciB3cm90ZToKPiA+ID4gPiA+IE1hcnZlbGwgQXJtYWRh IDM3MDAgRnVuY3Rpb25hbCBFcnJhdGEsIEd1aWRlbGluZXMsIGFuZCAKPiA+ID4gPiA+IFJlc3Ry aWN0aW9ucyBkb2N1bWVudCBkZXNjcmliZXMgaW4gZXJyYXR1bSAzLjEyIFBDSWUgQ29tcGxldGlv biBUaW1lb3V0IChSZWYgIzoKPiA+ID4gPiA+IDI1MSksIHRoYXQgUENJZSBJUCBkb2VzIG5vdCBz dXBwb3J0IGEgc3Ryb25nLW9yZGVyZWQgbW9kZWwgZm9yIGluYm91bmQgcG9zdGVkIHZzLgo+ID4g PiA+ID4gb3V0Ym91bmQgY29tcGxldGlvbi4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gQXMgYSB3b3Jr YXJvdW5kIGZvciB0aGlzIGVycmF0dW0sIERJU19PUkRfQ0hLIGZsYWcgaW4gRGVidWcgTXV4IAo+ ID4gPiA+ID4gQ29udHJvbCByZWdpc3RlciBtdXN0IGJlIHNldC4gSXQgZGlzYWJsZXMgdGhlIG9y ZGVyaW5nIGNoZWNrIGluIAo+ID4gPiA+ID4gdGhlIGNvcmUgYmV0d2VlbiBDb21wbGV0aW9ucyBh bmQgUG9zdGVkIHJlcXVlc3RzIHJlY2VpdmVkIGZyb20gdGhlIGxpbmsuCj4gPiA+ID4gPiAKPiA+ ID4gPiA+IE1hcnZlbGwgYWxzbyBzdWdnZXN0cyB0byBkbyBmdWxsIG1lbW9yeSBiYXJyaWVyIGF0 IHRoZSBiZWdpbm5pbmcgCj4gPiA+ID4gPiBvZiBhYXJkdmFyayBzdW1tYXJ5IGludGVycnVwdCBo YW5kbGVyIGJlZm9yZSBjYWxsaW5nIGludGVycnVwdCAKPiA+ID4gPiA+IGhhbmRsZXJzIG9mIGVu ZHBvaW50IGRyaXZlcnMgaW4gb3JkZXIgdG8gbWluaW1pemUgdGhlIHJpc2sgZm9yIAo+ID4gPiA+ ID4gdGhlIHJhY2UgY29uZGl0aW9uIGRvY3VtZW50ZWQgaW4gdGhlIEVycmF0dW0gYmV0d2VlbiB0 aGUgRE1BIAo+ID4gPiA+ID4gZG9uZSBzdGF0dXMgcmVhZGluZyBhbmQgdGhlIGNvbXBsZXRpb24g b2Ygd3JpdGluZyB0byB0aGUgaG9zdCBtZW1vcnkuCj4gPiA+ID4gPiAKPiA+ID4gPiA+IE1vcmUg ZGV0YWlscyBhYm91dCB0aGlzIGlzc3VlIGFuZCBzdWdnZXN0ZWQgd29ya2Fyb3VuZHMgYXJlIGlu IGRpc2N1c3Npb246Cj4gPiA+ID4gPiBodHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2ludC5jb20v djIvdXJsP3U9aHR0cHMtM0FfX2xvcmUua2VybmVsCj4gPiA+ID4gPiAub3JnX2wgCj4gPiA+ID4g PiBpbnV4LTJEcGNpX0JOOVBSMThNQjQyNTE1NEZFNTAxOURDQUYyMDI4QTFENURCOEQ5LTQwQk45 UFIxOE1CNDI1Cj4gPiA+ID4gPiAxLm5hbXAgCj4gPiA+ID4gPiByZDE4LnByb2Qub3V0bG9vay5j b21fdF8tMjN1JmQ9RHdJRGFRJmM9bktqV2VjMmI2UjBtT3lQYXo3eHRmUSZyCj4gPiA+ID4gPiA9 ZVRlTlQKPiA+ID4gPiA+IExFSzUtVHhYY3pqT2NLUGhBTklGdGxCOXBQNGxxOXFoZGxGcndRJm09 Ympna2hnUGdPanFDRXNiSFlIT05DWk0KPiA+ID4gPiA+IGlGRFg3MiAKPiA+ID4gPiA+IE16dFdh RTBBdldCa3RRVm4zektFRHRVZG4wMkt4X0tKMTRCJnM9U1RvR3NER0VPYndiWkdpbFZ0VlpQeU1F OGoKPiA+ID4gPiA+IE5pUmdycQo+ID4gPiA+ID4gNFNEWXZxcVQwVEEmZT0KPiA+ID4gPiA+IAo+ ID4gPiA+ID4gSXQgd2FzIHJlcG9ydGVkIHRoYXQgZW5hYmxpbmcgdGhpcyB3b3JrYXJvdW5kIGZp eGVzIGluc3RhYmlsaXR5IAo+ID4gPiA+ID4gaXNzdWVzIGFuZCAiVW5oYW5kbGVkIGZhdWx0IiBl cnJvcnMgd2hlbiB1c2luZyA2MCBHSHogV2lGaSAKPiA+ID4gPiA+IDgwMi4xMWFkIGNhcmQgd2l0 aCBRdWFsY29tbQo+ID4gPiA+ID4gUUNBNjMzNSBjaGlwIHVuZGVyIHNpZ25pZmljYW50IGxvYWQg d2hpY2ggd2VyZSBjYXVzZWQgYnkgCj4gPiA+ID4gPiBpbnRlcnJ1cHQgc3RhdHVzIHN0dWNrIGlu IHRoZSBvdXRib3VuZCBDTVBMVCBxdWV1ZSB0cmFjZWQgYmFjayB0byB0aGlzIGVycmF0dW0uCj4g PiA+ID4gPiAKPiA+ID4gPiA+IFRoaXMgd29ya2Fyb3VuZCBmaXhlcyBhbHNvIGtlcm5lbCBwYW5p YyB0cmlnZ2VyZWQgYWZ0ZXIgc29tZSAKPiA+ID4gPiA+IG1pbnV0ZXMgb2YgdXNhZ2UgNSBHSHog V2lGaSA4MDIuMTFheCBjYXJkIHdpdGggTWVkaWF0ZWsgTVQ3OTE1IGNoaXA6Cj4gPiA+ID4gPiAK PiA+ID4gPiA+ICAgICBJbnRlcm5hbCBlcnJvcjogc3luY2hyb25vdXMgZXh0ZXJuYWwgYWJvcnQ6 IDk2MDAwMjEwIFsjMV0gU01QCj4gPiA+ID4gPiAgICAgS2VybmVsIHBhbmljIC0gbm90IHN5bmNp bmc6IEZhdGFsIGV4Y2VwdGlvbiBpbiBpbnRlcnJ1cHQKPiA+ID4gPiA+IAo+ID4gPiA+ID4gU2ln bmVkLW9mZi1ieTogVGhvbWFzIFBldGF6em9uaSA8dGhvbWFzLnBldGF6em9uaUBib290bGluLmNv bT4KPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFBhbGkgUm9ow6FyIDxwYWxpQGtlcm5lbC5vcmc+ Cj4gPiA+ID4gPiBGaXhlczogOGMzOWQ3MTAzNjNjICgiUENJOiBhYXJkdmFyazogQWRkIEFhcmR2 YXJrIFBDSSBob3N0IAo+ID4gPiA+ID4gY29udHJvbGxlcgo+ID4gPiA+ID4gZHJpdmVyIikKPiA+ ID4gPiA+IENjOiBzdGFibGVAdmdlci5rZXJuZWwub3JnCj4gPiA+ID4gPiAtLS0KPiA+ID4gPiA+ ICBkcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaS1hYXJkdmFyay5jIHwgMTAgKysrKysrKysrKwo+ ID4gPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspCj4gPiA+ID4gPiAKPiA+ ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaS1hYXJkdmFyay5j Cj4gPiA+ID4gPiBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpLWFhcmR2YXJrLmMKPiA+ID4g PiA+IGluZGV4IDA2MDkzNmVmMDFmZS4uM2FlOGE4NWVjNzJlIDEwMDY0NAo+ID4gPiA+ID4gLS0t IGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2ktYWFyZHZhcmsuYwo+ID4gPiA+ID4gKysrIGIv ZHJpdmVycy9wY2kvY29udHJvbGxlci9wY2ktYWFyZHZhcmsuYwo+ID4gPiA+ID4gQEAgLTIxMCw2 ICsyMTAsOCBAQCBlbnVtIHsKPiA+ID4gPiA+ICB9Owo+ID4gPiA+ID4gIAo+ID4gPiA+ID4gICNk ZWZpbmUgVkVORE9SX0lEX1JFRwkJCQkoTE1JX0JBU0VfQUREUiArIDB4NDQpCj4gPiA+ID4gPiAr I2RlZmluZSBERUJVR19NVVhfQ1RSTF9SRUcJCQkoTE1JX0JBU0VfQUREUiArIDB4MjA4KQo+ID4g PiA+ID4gKyNkZWZpbmUgICAgIERJU19PUkRfQ0hLCQkJCUJJVCgzMCkKPiA+ID4gPiA+ICAKPiA+ ID4gPiA+ICAvKiBQQ0llIGNvcmUgY29udHJvbGxlciByZWdpc3RlcnMgKi8KPiA+ID4gPiA+ICAj ZGVmaW5lIENUUkxfQ09SRV9CQVNFX0FERFIJCQkweDE4MDAwCj4gPiA+ID4gPiBAQCAtNTU4LDYg KzU2MCwxMSBAQCBzdGF0aWMgdm9pZCBhZHZrX3BjaWVfc2V0dXBfaHcoc3RydWN0IGFkdmtfcGNp ZSAqcGNpZSkKPiA+ID4gPiA+ICAJCVBDSUVfQ09SRV9DVFJMMl9URF9FTkFCTEU7Cj4gPiA+ID4g PiAgCWFkdmtfd3JpdGVsKHBjaWUsIHJlZywgUENJRV9DT1JFX0NUUkwyX1JFRyk7Cj4gPiA+ID4g PiAgCj4gPiA+ID4gPiArCS8qIERpc2FibGUgb3JkZXJpbmcgY2hlY2tzLCB3b3JrYXJvdW5kIGZv ciBlcnJhdHVtIDMuMTIgIlBDSWUgY29tcGxldGlvbiB0aW1lb3V0IiAqLwo+ID4gPiA+ID4gKwly ZWcgPSBhZHZrX3JlYWRsKHBjaWUsIERFQlVHX01VWF9DVFJMX1JFRyk7Cj4gPiA+ID4gPiArCXJl ZyB8PSBESVNfT1JEX0NISzsKPiA+ID4gPiA+ICsJYWR2a193cml0ZWwocGNpZSwgcmVnLCBERUJV R19NVVhfQ1RSTF9SRUcpOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gIAkvKiBTZXQgbGFuZSBYMSAq Lwo+ID4gPiA+ID4gIAlyZWcgPSBhZHZrX3JlYWRsKHBjaWUsIFBDSUVfQ09SRV9DVFJMMF9SRUcp Owo+ID4gPiA+ID4gIAlyZWcgJj0gfkxBTkVfQ05UX01TSzsKPiA+ID4gPiA+IEBAIC0xNTgxLDYg KzE1ODgsOSBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgYWR2a19wY2llX2lycV9oYW5kbGVyKGludCBp cnEsIHZvaWQgKmFyZykKPiA+ID4gPiA+ICAJc3RydWN0IGFkdmtfcGNpZSAqcGNpZSA9IGFyZzsK PiA+ID4gPiA+ICAJdTMyIHN0YXR1czsKPiA+ID4gPiA+ICAKPiA+ID4gPiA+ICsJLyogRnVsbCBt ZW1vcnkgYmFycmllciAoQVJNIGRzYiBzeSksIHdvcmthcm91bmQgZm9yIGVycmF0dW0gMy4xMiAi UENJZSBjb21wbGV0aW9uIHRpbWVvdXQiICovCj4gPiA+ID4gPiArCW1iKCk7Cj4gPiA+ID4gPiAr Cj4gPiA+ID4gPiAgCXN0YXR1cyA9IGFkdmtfcmVhZGwocGNpZSwgSE9TVF9DVFJMX0lOVF9TVEFU VVNfUkVHKTsKPiA+ID4gPiA+ICAJaWYgKCEoc3RhdHVzICYgUENJRV9JUlFfQ09SRV9JTlQpKQo+ ID4gPiA+ID4gIAkJcmV0dXJuIElSUV9OT05FOwo+ID4gPiA+ID4gLS0KPiA+ID4gPiA+IDIuMjAu MQo+ID4gPiA+ID4gCj4gPiA+IAo+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+ID4gPiBsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdAo+ID4g PiBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKPiA+ID4gaHR0cHM6Ly91cmxk ZWZlbnNlLnByb29mcG9pbnQuY29tL3YyL3VybD91PWh0dHAtM0FfX2xpc3RzLmluZnJhZGVhZC4K PiA+ID4gb3JnX21haWxtYW5fbGlzdGluZm9fbGludXgtMkRhcm0tMkRrZXJuZWwmZD1Ed0lEYVEm Yz1uS2pXZWMyYjZSMG1PeVAKPiA+ID4gYXo3eHRmUSZyPWVUZU5UTEVLNS1UeFhjempPY0tQaEFO SUZ0bEI5cFA0bHE5cWhkbEZyd1EmbT0yTnprVDlLTE8yNmsKPiA+ID4gZWZVT3cybkllU2VSbkpW Wkx4RWlCWHFFb1J2RFEwdWV3dzZuNFlhWFdnQU4xdUNKWDIwbyZzPW5jekFDU18yakVSYkEKPiA+ ID4gLWM0R2ZhcjAtSFRBNFB0dlpkSm1zQnY4amhXOEcwJmU9Cj4gX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBsaW51eC1hcm0ta2VybmVsIG1haWxpbmcg bGlzdAo+IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwo+IGh0dHA6Ly9saXN0 cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5l bCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=