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 9A0FEC4167B for ; Thu, 30 Nov 2023 01:21:51 +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:MIME-Version:References:In-Reply-To: Date:Cc:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=newbtaQvxNJfC2jgdQvuvOcAHSi+Z8KU5p53ZgYqBmQ=; b=MhO124bZcuHOcK SOJRxUWlWttywKdaB4x7sD0fQm7S7MdBGmfCcu0SLlXU/9sEDmPSLCdruHCPvnC2wRsgRIRC4l0OK GkpiVdMb2O7TADa+pq8PO2npWiypo4Wqi3vKqEI0ti5J0LefNHwu8TE3Zggzk3DL7pRpkeY1cIjQN i8YuR6GDR5WWWP+9Uw7/9xZkBZVip4oOaI/rm0CAqf/GG89pCehymza2LecEMXI0OAiFiRYUdKFDv 70roz7o9HR/luWyiEd/4TdiuO1EMv+Z3AiQSOknNnWOrhilGJdPvRNhVr1Wr8w2G34O/qoUAN8MBx lUBSPt9iSXMWl3F+m0Sg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r8Vk1-009fRo-2u; Thu, 30 Nov 2023 01:21:21 +0000 Received: from pi.codeconstruct.com.au ([203.29.241.158] helo=codeconstruct.com.au) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r8Vjx-009fQc-1d for linux-arm-kernel@lists.infradead.org; Thu, 30 Nov 2023 01:21:19 +0000 Received: from [192.168.68.112] (ppp118-210-131-38.adl-adc-lon-bras33.tpg.internode.on.net [118.210.131.38]) by mail.codeconstruct.com.au (Postfix) with ESMTPSA id 12E632012A; Thu, 30 Nov 2023 09:21:01 +0800 (AWST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=codeconstruct.com.au; s=2022a; t=1701307268; bh=S70Q88P2OxNQtAi62UJSVFWaRnUGB5ZmV47MfgF9zgw=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=WLWOIw79MGqwV1g45ayblaPYk3dljx/vHL51Rns4b76tJD4oOElPf6nAb+w7S0Usb 9j4uQio+I7Qmb+4UQLN+QiZP+uc7X2DWBL7x3hSUwGUWBScHWYYLImSksEEP0j3JEl d+kGu8Z5OddVm9Ukd2fHroAMji3fRUZ+WsKdffvVdqq+E/1yw0i02gndCPYWE0VQdd mqlbhfl+Xbt4ft5u/QDYpKmAohmFbL66aN7VGvPOtzt8R2tiGSalv4h0Fq0MtzFe2p vr2ClbKV5huf7gkQsUCzMYWRz7UOpTHlyCEdltOrh0PtSI0440hlX9wW+haqLBJhTC pr8IJXXteUYjQ== Message-ID: Subject: Re: [PATCH v2 RESEND 1/2] i2c: aspeed: Fix unhandled Tx done with NAK From: Andrew Jeffery To: Quan Nguyen , Brendan Higgins , Benjamin Herrenschmidt , Joel Stanley , Andi Shyti , Wolfram Sang , Jae Hyun Yoo , Guenter Roeck , linux-i2c@vger.kernel.org, openbmc@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-kernel@vger.kernel.org Cc: Cosmo Chou , Open Source Submission , Phong Vo , "Thang Q . Nguyen" Date: Thu, 30 Nov 2023 11:50:57 +1030 In-Reply-To: <99dff4f2-cfe1-4a3d-a10b-313b9e7a29b3@os.amperecomputing.com> References: <20231128075236.2724038-1-quan@os.amperecomputing.com> <20231128075236.2724038-2-quan@os.amperecomputing.com> <4a9fe86f0349106adaa4e0c04c5839bab631f26c.camel@codeconstruct.com.au> <99dff4f2-cfe1-4a3d-a10b-313b9e7a29b3@os.amperecomputing.com> User-Agent: Evolution 3.46.4-2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231129_172117_971668_BDBC5724 X-CRM114-Status: GOOD ( 49.58 ) 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 T24gV2VkLCAyMDIzLTExLTI5IGF0IDE2OjAzICswNzAwLCBRdWFuIE5ndXllbiB3cm90ZToKPiAK PiBPbiAyOS8xMS8yMDIzIDA3OjE5LCBBbmRyZXcgSmVmZmVyeSB3cm90ZToKPiA+IE9uIFR1ZSwg MjAyMy0xMS0yOCBhdCAxNDo1MiArMDcwMCwgUXVhbiBOZ3V5ZW4gd3JvdGU6Cj4gPiA+IFVuZGVy IG5vcm1hbCBjb25kaXRpb25zLCBhZnRlciB0aGUgbGFzdCBieXRlIGlzIHNlbnQgYnkgdGhlIFNs YXZlLCB0aGUKPiA+ID4gVFhfTkFLIGludGVycnVwdCBpcyByYWlzZWQuICBIb3dldmVyLCBpdCBp cyBhbHNvIG9ic2VydmVkIHRoYXQKPiA+ID4gc29tZXRpbWVzIHRoZSBNYXN0ZXIgaXNzdWVzIHRo ZSBuZXh0IHRyYW5zYWN0aW9uIHRvbyBxdWlja2x5IHdoaWxlIHRoZQo+ID4gPiBTbGF2ZSBJUlEg aGFuZGxlciBpcyBub3QgeWV0IGludm9rZWQgYW5kIHRoZSBUWF9OQUsgaW50ZXJydXB0IGZvciB0 aGUKPiA+ID4gbGFzdCBieXRlIG9mIHRoZSBwcmV2aW91cyBSRUFEX1BST0NFU1NFRCBzdGF0ZSBo YXMgbm90IGJlZW4gYWNr4oCZZWQuCj4gPiA+IFRoaXMgVFhfTkFLIGludGVycnVwdCBpcyB0aGVu IHJhaXNlZCB0b2dldGhlciB3aXRoIFNMQVZFX01BVENIIGludGVycnVwdAo+ID4gPiBhbmQgUlhf RE9ORSBpbnRlcnJ1cHQgb2YgdGhlIG5leHQgY29taW5nIHRyYW5zYWN0aW9uIGZyb20gTWFzdGVy LiBUaGUKPiA+ID4gU2xhdmUgSVJRIGhhbmRsZXIgY3VycmVudGx5IGhhbmRsZXMgdGhlIFNMQVZF X01BVENIIGFuZCBSWF9ET05FLCBidXQKPiA+ID4gaWdub3JlcyB0aGUgVFhfTkFLLCBjYXVzaW5n IGNvbXBsYWludHMgc3VjaCBhcwo+ID4gPiAiYXNwZWVkLWkyYy1idXMgMWU3OGEwNDAuaTJjLWJ1 czogaXJxIGhhbmRsZWQgIT0gaXJxLiBFeHBlY3RlZAo+ID4gPiAweDAwMDAwMDg2LCBidXQgd2Fz IDB4MDAwMDAwODQiCj4gPiA+IAo+ID4gPiBUaGlzIGNvbW1pdCBhZGRzIGNvZGUgdG8gaGFuZGxl IHRoaXMgY2FzZSBieSBlbWl0dGluZyBhIFNMQVZFX1NUT1AgZXZlbnQKPiA+ID4gZm9yIHRoZSBU WF9OQUsgYmVmb3JlIHByb2Nlc3NpbmcgdGhlIFJYX0RPTkUgZm9yIHRoZSBjb21pbmcgdHJhbnNh Y3Rpb24KPiA+ID4gZnJvbSB0aGUgTWFzdGVyLgo+ID4gPiAKPiA+ID4gRml4ZXM6IGY5ZWI5MTM1 MGJiMiAoImkyYzogYXNwZWVkOiBhZGRlZCBzbGF2ZSBzdXBwb3J0IGZvciBBc3BlZWQgSTJDIGRy aXZlciIpCj4gPiA+IFNpZ25lZC1vZmYtYnk6IFF1YW4gTmd1eWVuIDxxdWFuQG9zLmFtcGVyZWNv bXB1dGluZy5jb20+Cj4gPiA+IC0tLQo+ID4gPiB2MjoKPiA+ID4gICAgKyBTcGxpdCB0byBzZXBh cmF0ZSBzZXJpZXMgW0pvZWxdCj4gPiA+ICAgICsgQWRkZWQgdGhlIEZpeGVzIGxpbmUgW0pvZWxd Cj4gPiA+ICAgICsgUmV2aXNlZCBjb21taXQgbWVzc2FnZSBbUXVhbl0KPiA+ID4gCj4gPiA+IHYx Ogo+ID4gPiAgICArIEZpcnN0IGludHJvZHVjZWQgaW4KPiA+ID4gaHR0cHM6Ly9sb3JlLmtlcm5l bC5vcmcvYWxsLzIwMjEwNTE5MDc0OTM0LjIwNzEyLTEtcXVhbkBvcy5hbXBlcmVjb21wdXRpbmcu Y29tLwo+ID4gPiAtLS0KPiA+ID4gICBkcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFzcGVlZC5jIHwg NSArKysrKwo+ID4gPiAgIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKPiA+ID4gCj4g PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFzcGVlZC5jIGIvZHJpdmVy cy9pMmMvYnVzc2VzL2kyYy1hc3BlZWQuYwo+ID4gPiBpbmRleCAyOGUyYTVmYzQ1MjguLjc5NDc2 YjQ2Mjg1YiAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hc3BlZWQu Ywo+ID4gPiArKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFzcGVlZC5jCj4gPiA+IEBAIC0y NTMsNiArMjUzLDExIEBAIHN0YXRpYyB1MzIgYXNwZWVkX2kyY19zbGF2ZV9pcnEoc3RydWN0IGFz cGVlZF9pMmNfYnVzICpidXMsIHUzMiBpcnFfc3RhdHVzKQo+ID4gPiAgIAo+ID4gPiAgIAkvKiBT bGF2ZSB3YXMgcmVxdWVzdGVkLCByZXN0YXJ0IHN0YXRlIG1hY2hpbmUuICovCj4gPiA+ICAgCWlm IChpcnFfc3RhdHVzICYgQVNQRUVEX0kyQ0RfSU5UUl9TTEFWRV9NQVRDSCkgewo+ID4gPiArCQlp ZiAoaXJxX3N0YXR1cyAmIEFTUEVFRF9JMkNEX0lOVFJfVFhfTkFLICYmCj4gPiA+ICsJCSAgICBi dXMtPnNsYXZlX3N0YXRlID09IEFTUEVFRF9JMkNfU0xBVkVfUkVBRF9QUk9DRVNTRUQpIHsKPiA+ ID4gKwkJCWlycV9oYW5kbGVkIHw9IEFTUEVFRF9JMkNEX0lOVFJfVFhfTkFLOwo+ID4gPiArCQkJ aTJjX3NsYXZlX2V2ZW50KHNsYXZlLCBJMkNfU0xBVkVfU1RPUCwgJnZhbHVlKTsKPiA+ID4gKwkJ fQo+ID4gCj4gPiBTbyB3ZSdyZSBhbHJlYWR5IChwYXJ0aWFsbHkpIHByb2Nlc3NpbmcgdGhpcyBh IGJpdCBsYXRlciBvbiBsaW5lIDI4NzoKPiA+IAo+ID4gaHR0cHM6Ly9naXQua2VybmVsLm9yZy9w dWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0L3RyZWUvZHJpdmVycy9p MmMvYnVzc2VzL2kyYy1hc3BlZWQuYz9oPXY2LjctcmMzI24yODcKPiA+IAo+IAo+IFRoYW5rcyBB bmRyZXcgZm9yIHRoZSByZXZpZXcuCj4gCj4gSSB0aGluayBpdCdzIHdvcnRoIG5vdGluZyB0aGF0 IHRoZSBieXRlIG1vZGUgaXMgdXNlZCBpbiB0aGlzIGNhc2UuCj4gCj4gQWJvdXQgdGhlIGNvZGUg eW91IG1lbnRpb25lZCwgaXQgaXMgZm9yIHRoZSBnZW5lcmFsIHByb2Nlc3Mgb2Ygc2luZ2xlIAo+ IFNsYXZlIHRyYW5zbWlzc2lvbiB3aXRoIE5BSyB3aGljaCBzaG91bGQgYmUgaW50ZXJwcmV0IGFz IEkyQ19TTEFWRV9TVE9QIAo+IGV2ZW50Lgo+IAo+IEluIHRoaXMgY2FzZSwgdGhlcmUgaXMgYSBt aXggb2YgU2xhdmUgZXZlbnRzOgo+IAo+ICAgICsgSTJDX1NMQVZFX1NUT1AgKGR1ZSB0byBJTlRS X1RYX05BSywgQklUKDEpIG9mIHByZXZpb3VzIHRyYW5zYWN0aW9uKQo+ICAgICsgRm9sbG93ZWQg YnkgSTJDX1NMQVZFX1tSRUFEfFdSSVRFXV9SRVFVRVNURUQgKGR1ZSB0byAKPiBJTlRSX1NMQVZF X01BVENIIGFuZCBJTlRSX1JYX0RPTkUsIEJJVCg3KSBhbmQgQklUKDIpLCBvZiBuZXh0IHRyYW5z YWN0aW9uKQo+IAo+IFRoYXQgaXMgdGhlIHJlYXNvbiB3ZSBuZWVkIHRvIGVtaXQgdGhlIEkyQ19T TEFWRV9TVE9QIGZpcnN0IGZvciBTbGF2ZSAKPiBiYWNrZW5kIHRvIHByb2Nlc3MuCj4gCj4gPiAg RnJvbSB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIHByb2JsZW0gaW4gdGhlIGNvbW1pdCBtZXNzYWdl IGl0IHNvdW5kcwo+ID4gbGlrZSB0aGUgb3JkZXJpbmcgb2YgdGhlIGludGVycnVwdCBwcm9jZXNz aW5nIGlzIGluY29ycmVjdC4gCj4gCj4gWWVzLCB0aGlzIGlzIGNvcnJlY3QgYXMgcGVyIG15IGV4 cGxhbmF0aW9uIGFib3ZlLgo+IAo+IFByaW9yIHRvCj4gPiB0aGlzIHBhdGNoIHdlIGhhdmUgdGhl IGZvbGxvd2luZyBhYnN0cmFjdCBvcmRlcmluZyBvZiBpbnRlcnJ1cHQKPiA+IHByb2Nlc3Npbmc6 Cj4gPiAKPiA+IDEuIFByb2Nlc3MgQVNQRUVEX0kyQ0RfSU5UUl9TTEFWRV9NQVRDSAo+ID4gMi4g UHJvY2VzcyBBU1BFRURfSTJDRF9JTlRSX1RYX05BSyB3aGVuIGluIEFTUEVFRF9JMkNfU0xBVkVf UkVBRF9QUk9DRVNTRUQKPiA+IAo+IAo+ICBGcm9tIG15IHRlc3QsIHRoZSBmbG93IGlzIGFzIGJl bG93Ogo+IAo+ICAgIDEuIFByb2Nlc3MgQVNQRUVEX0kyQ0RfSU5UUl9TTEFWRV9NQVRDSCwgc2xh dmVfc3RhdGUgaXMgc2V0IHRvIAo+IEFTUEVFRF9JMkNfU0xBVkVfU1RBUlQKPiAgICAyLiBBcyB0 aGVyZSBpcyBJTlRSX1JYX0RPTkUgYW5kIHNsYXZlX3N0YXRlIGlzIAo+IEFTUEVFRF9JMkNfU0xB VkVfU1RBUlQsIGRlcGVuZHMgb24gdGhlIGRhdGEgcmVjZWl2ZWQsIHRoZSBzbGF2ZV9zdGF0ZSAK PiBtb3ZlcyB0byBlaXRoZXIgQVNQRUVEX0kyQ19TTEFWRV9bUkVBRHxXUklURV1fUkVRVUVTVEVE Lgo+ICAgIDMuIFdoZW4gcmVhY2ggdG8gdGhlIGlmIHN0YXRlbWVudCB0byBwcm9jZXNzIElOVFJf VFhfTkFLLCBzbGF2ZV9zdGF0ZSAKPiBpcyBhbHJlYWR5IG1vdmVzIHRvIGVpdGhlciBBU1BFRURf STJDX1NMQVZFX1tSRUFEfFdSSVRFXV9SRVFVRVNURUQsIG5vdCAKPiBpbiBBU1BFRURfSTJDX1NM QVZFX1JFQURfUFJPQ0VTU0VEIGFueW1vcmUuIFRoaXMgZXZlbnR1YWxseSBldmFsdWF0ZSBhcyAK PiBmYWxzZSBhbmQgdGhlIGlmIHN0YXRlbWVudCBpcyBieXBhc3MuIElPVywgdGhpcyBJTlRSX1RY X05BSyBpcyBub3QgcHJvY2Vzcy4KPiAKPiA+IFdpdGggdGhpcyBwYXRjaCB3ZSBoYXZlOgo+ID4g Cj4gPiAxLiBJZiBBU1BFRURfSTJDRF9JTlRSX1NMQVZFX01BVENIIHRoZW4gcHJvY2VzcyBBU1BF RURfSTJDRF9JTlRSX1RYX05BSyB3aGVuIGluIEFTUEVFRF9JMkNfU0xBVkVfUkVBRF9QUk9DRVNT RUQKPiA+IDIuIFByb2Nlc3MgQVNQRUVEX0kyQ0RfSU5UUl9TTEFWRV9NQVRDSAo+ID4gMy4gUHJv Y2VzcyBBU1BFRURfSTJDRF9JTlRSX1RYX05BSyB3aGVuIGluIEFTUEVFRF9JMkNfU0xBVkVfUkVB RF9QUk9DRVNTRUQKPiA+IAo+IAo+IFdpdGggdGhpcyBwYXRjaDoKPiAKPiAgICAwLiBUaGUgSTJD X1NMQVZFX1NUT1AgaXMgZW1pdHRlZCB0byBiYWNrZW5kIFNsYXZlIGRyaXZlciBmaXJzdCB0byAK PiBjb21wbGV0ZSB0aGUgcHJldmlvdXMgdHJhbnNhY3Rpb24uIEFuZCBsZXQgdGhlIHJlc3QgcHJv Y2VzcyBhcyBiZWZvcmUgCj4gdGhpcyBwYXRjaC4KPiAKPiAgICAxLiBQcm9jZXNzIEFTUEVFRF9J MkNEX0lOVFJfU0xBVkVfTUFUQ0gsIHNsYXZlX3N0YXRlIGlzIHNldCB0byAKPiBBU1BFRURfSTJD X1NMQVZFX1NUQVJUCj4gICAgMi4gQXMgdGhlcmUgaXMgSU5UUl9SWF9ET05FIGFuZCBzbGF2ZV9z dGF0ZSBpcyAKPiBBU1BFRURfSTJDX1NMQVZFX1NUQVJULCBkZXBlbmRzIG9uIHRoZSBkYXRhIHJl Y2VpdmVkLCB0aGUgc2xhdmVfc3RhdGUgCj4gbW92ZXMgdG8gZWl0aGVyIEFTUEVFRF9JMkNfU0xB VkVfW1JFQUR8V1JJVEVdX1JFUVVFU1RFRC4KPiAgICAzLiBXaGVuIHJlYWNoIHRvIHRoZSBpZiBz dGF0ZW1lbnQgdG8gcHJvY2VzcyBJTlRSX1RYX05BSywgc2xhdmVfc3RhdGUgCj4gaXMgYWxyZWFk eSBtb3ZlcyB0byBlaXRoZXIgQVNQRUVEX0kyQ19TTEFWRV9bUkVBRHxXUklURV1fUkVRVUVTVEVE LCBub3QgCj4gaW4gQVNQRUVEX0kyQ19TTEFWRV9SRUFEX1BST0NFU1NFRCBhbnltb3JlLiBUaGlz IGV2ZW50dWFsbHkgZXZhbHVhdGVkIGFzIAo+IGZhbHNlIGFuZCB0aGUgaWYgc3RhdGVtZW50IGlz IGJ5cGFzcy4gSU9XLCB0aGlzIElOVFJfVFhfTkFLIGlzIG5vdCBwcm9jZXNzLgo+IAo+ID4gVGhh dCBmZWVscyBhIGJpdCBjb21wbGV4IGFuZCByZWR1bmRhbnQuIFdoYXQgSSB0aGluayB3ZSBjYW4g aGF2ZSBpczoKPiA+IAo+ID4gMS4gUHJvY2VzcyBBU1BFRURfSTJDRF9JTlRSX1RYX05BSyB3aGVu IGluIEFTUEVFRF9JMkNfU0xBVkVfUkVBRF9QUk9DRVNTRUQKPiA+IDEuIFByb2Nlc3MgQVNQRUVE X0kyQ0RfSU5UUl9TTEFWRV9NQVRDSAo+ID4gCj4gPiBNb3ZpbmcgYmFjayBmcm9tIHRoZSBhYnN0 cmFjdCB0byB0aGUgY29uY3JldGUsIGltcGxlbWVudGluZyB3aGF0IEkKPiA+IGJlbGlldmUgd2Ug bmVlZCB3b3VsZCBsb29rIHNvbWV0aGluZyBsaWtlIHRoaXMgcGF0Y2g6Cj4gPiAKPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFzcGVlZC5jIGIvZHJpdmVycy9pMmMvYnVz c2VzL2kyYy1hc3BlZWQuYwo+ID4gaW5kZXggMjhlMmE1ZmM0NTI4Li45OGRkMGYzNWM5ZDMgMTAw NjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFzcGVlZC5jCj4gPiArKysgYi9k cml2ZXJzL2kyYy9idXNzZXMvaTJjLWFzcGVlZC5jCj4gPiBAQCAtMjUxLDYgKzI1MSwxNCBAQCBz dGF0aWMgdTMyIGFzcGVlZF9pMmNfc2xhdmVfaXJxKHN0cnVjdCBhc3BlZWRfaTJjX2J1cyAqYnVz LCB1MzIgaXJxX3N0YXR1cykKPiA+ICAgCj4gPiAgICAgICAgICBjb21tYW5kID0gcmVhZGwoYnVz LT5iYXNlICsgQVNQRUVEX0kyQ19DTURfUkVHKTsKPiA+ICAgCj4gPiArICAgICAgIC8qIENvbXBs ZXRlIGFueSBhY3RpdmUgcmVhZCAqLwo+ID4gKyAgICAgICBpZiAoaXJxX3N0YXR1cyAmIEFTUEVF RF9JMkNEX0lOVFJfVFhfTkFLICYmCj4gPiArICAgICAgICAgICBidXMtPnNsYXZlX3N0YXRlID09 IEFTUEVFRF9JMkNfU0xBVkVfUkVBRF9QUk9DRVNTRUQpIHsKPiA+ICsgICAgICAgICAgICAgICBp cnFfaGFuZGxlZCB8PSBBU1BFRURfSTJDRF9JTlRSX1RYX05BSzsKPiA+ICsgICAgICAgICAgICAg ICBpMmNfc2xhdmVfZXZlbnQoc2xhdmUsIEkyQ19TTEFWRV9TVE9QLCAmdmFsdWUpOwo+ID4gKyAg ICAgICAgICAgICAgIGJ1cy0+c2xhdmVfc3RhdGUgPSBBU1BFRURfSTJDX1NMQVZFX1NUT1A7Cj4g PiArICAgICAgIH0KPiA+ICsKPiAKPiBJdCBpcyBub3QgY29uZmlybWVkIHRocm91Z2ggdGVzdCB5 ZXQgYnV0IEknbSBhZnJhaWQgdGhlIHN3aXRjaCBjYXNlIHBhcnQgCj4gd2lsbCBlbWl0IGFub3Ro ZXIgSTJDX1NMQVZFX1NUT1AgZXZlbnQgaW4gY2FzZSB0aGVyZSBpcyBubyBtaXggb2YgCj4gaW50 ZXJydXB0cy4KCkFoLCBnb29kIGNhdGNoLiBJIHRoaW5rIHdlIGNhbiByZXdvcmsgdGhpbmdzIGEg Yml0IHRvIHJhdGlvbmFsaXNlIHRoZQpsb2dpYyBhdCB0aGUgZXhwZW5zZSBhIGJpZ2dlciBkaWZm LiBXaGF0IGRvIHlvdSB0aGluayBhYm91dCB0aGlzPyBJJ3ZlCmJvb3QgdGVzdGVkIGl0IG9uIGFu IGFzdDI2MDAtZXZiIGFuZCBwb2tlZCBhdCBzb21lIE5WTWUgZHJpdmVzIG92ZXIKTUNUUCB0byBl eGVyY2lzZSB0aGUgc2xhdmUgcGF0aC4KCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMv aTJjLWFzcGVlZC5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hc3BlZWQuYwppbmRleCBhZWM4 OTY2YmNlYWIuLjNjOTMzM2ExMjk2NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2ky Yy1hc3BlZWQuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFzcGVlZC5jCkBAIC0yNDks MTggKzI0OSw0NyBAQCBzdGF0aWMgdTMyIGFzcGVlZF9pMmNfc2xhdmVfaXJxKHN0cnVjdCBhc3Bl ZWRfaTJjX2J1cyAqYnVzLCB1MzIgaXJxX3N0YXR1cykKIAlpZiAoIXNsYXZlKQogCQlyZXR1cm4g MDsKIAotCWNvbW1hbmQgPSByZWFkbChidXMtPmJhc2UgKyBBU1BFRURfSTJDX0NNRF9SRUcpOwor CS8qCisJICogSGFuZGxlIHN0b3AgY29uZGl0aW9ucyBlYXJseSwgcHJpb3IgdG8gU0xBVkVfTUFU Q0guIFNvbWUgbWFzdGVycyBtYXkgZHJpdmUKKwkgKiB0cmFuc2ZlcnMgd2l0aCBsb3cgZW5vdWdo IGxhdGVuY3kgYmV0d2VlbiB0aGUgbmFrL3N0b3AgcGhhc2Ugb2YgdGhlIGN1cnJlbnQKKwkgKiBj b21tYW5kIGFuZCB0aGUgc3RhcnQvYWRkcmVzcyBwaGFzZSBvZiB0aGUgZm9sbG93aW5nIGNvbW1h bmQgdGhhdCB0aGUKKwkgKiBpbnRlcnJ1cHRzIGFyZSBjb2FsZXNjZWQgYnkgdGhlIHRpbWUgd2Ug cHJvY2VzcyB0aGVtLgorCSAqLworCisJaWYgKGlycV9zdGF0dXMgJiBBU1BFRURfSTJDRF9JTlRS X05PUk1BTF9TVE9QKSB7CisJCWlycV9oYW5kbGVkIHw9IEFTUEVFRF9JMkNEX0lOVFJfTk9STUFM X1NUT1A7CisJCWJ1cy0+c2xhdmVfc3RhdGUgPSBBU1BFRURfSTJDX1NMQVZFX1NUT1A7CisJfQor CisJaWYgKGlycV9zdGF0dXMgJiBBU1BFRURfSTJDRF9JTlRSX1RYX05BSyAmJgorCSAgICBidXMt PnNsYXZlX3N0YXRlID09IEFTUEVFRF9JMkNfU0xBVkVfUkVBRF9QUk9DRVNTRUQpIHsKKwkJaXJx X2hhbmRsZWQgfD0gQVNQRUVEX0kyQ0RfSU5UUl9UWF9OQUs7CisJCWJ1cy0+c2xhdmVfc3RhdGUg PSBBU1BFRURfSTJDX1NMQVZFX1NUT1A7CisJfQorCisJLyogUHJvcGFnYXRlIGFueSBzdG9wIGNv bmRpdGlvbnMgdG8gdGhlIHNsYXZlIGltcGxlbWVudGF0aW9uICovCisJaWYgKGJ1cy0+c2xhdmVf c3RhdGUgPT0gQVNQRUVEX0kyQ19TTEFWRV9TVE9QKSB7CisJCWkyY19zbGF2ZV9ldmVudChzbGF2 ZSwgSTJDX1NMQVZFX1NUT1AsICZ2YWx1ZSk7CisJCWJ1cy0+c2xhdmVfc3RhdGUgPSBBU1BFRURf STJDX1NMQVZFX0lOQUNUSVZFOworCX0KIAotCS8qIFNsYXZlIHdhcyByZXF1ZXN0ZWQsIHJlc3Rh cnQgc3RhdGUgbWFjaGluZS4gKi8KKwkvKgorCSAqIE5vdyB0aGF0IHdlJ3ZlIGRlYWx0IHdpdGgg YW55IHBvdGVudGlhbGx5IGNvYWxlc2NlZCBzdG9wIGNvbmRpdGlvbnMsCisJICogYWRkcmVzcyBh bnkgc3RhcnQgY29uZGl0aW9ucy4KKwkgKi8KIAlpZiAoaXJxX3N0YXR1cyAmIEFTUEVFRF9JMkNE X0lOVFJfU0xBVkVfTUFUQ0gpIHsKIAkJaXJxX2hhbmRsZWQgfD0gQVNQRUVEX0kyQ0RfSU5UUl9T TEFWRV9NQVRDSDsKIAkJYnVzLT5zbGF2ZV9zdGF0ZSA9IEFTUEVFRF9JMkNfU0xBVkVfU1RBUlQ7 CiAJfQogCi0JLyogU2xhdmUgaXMgbm90IGN1cnJlbnRseSBhY3RpdmUsIGlycSB3YXMgZm9yIHNv bWVvbmUgZWxzZS4gKi8KKwkvKgorCSAqIElmIHRoZSBzbGF2ZSBoYXMgYmVlbiBzdG9wcGVkIGFu ZCBub3Qgc3RhcnRlZCB0aGVuIHNsYXZlIGludGVycnVwdCBoYW5kbGluZworCSAqIGlzIGNvbXBs ZXRlLgorCSAqLwogCWlmIChidXMtPnNsYXZlX3N0YXRlID09IEFTUEVFRF9JMkNfU0xBVkVfSU5B Q1RJVkUpCiAJCXJldHVybiBpcnFfaGFuZGxlZDsKIAorCWNvbW1hbmQgPSByZWFkbChidXMtPmJh c2UgKyBBU1BFRURfSTJDX0NNRF9SRUcpOwogCWRldl9kYmcoYnVzLT5kZXYsICJzbGF2ZSBpcnEg c3RhdHVzIDB4JTA4eCwgY21kIDB4JTA4eFxuIiwKIAkJaXJxX3N0YXR1cywgY29tbWFuZCk7CiAK QEAgLTI3OSwxNyArMzA4LDYgQEAgc3RhdGljIHUzMiBhc3BlZWRfaTJjX3NsYXZlX2lycShzdHJ1 Y3QgYXNwZWVkX2kyY19idXMgKmJ1cywgdTMyIGlycV9zdGF0dXMpCiAJCWlycV9oYW5kbGVkIHw9 IEFTUEVFRF9JMkNEX0lOVFJfUlhfRE9ORTsKIAl9CiAKLQkvKiBTbGF2ZSB3YXMgYXNrZWQgdG8g c3RvcC4gKi8KLQlpZiAoaXJxX3N0YXR1cyAmIEFTUEVFRF9JMkNEX0lOVFJfTk9STUFMX1NUT1Ap IHsKLQkJaXJxX2hhbmRsZWQgfD0gQVNQRUVEX0kyQ0RfSU5UUl9OT1JNQUxfU1RPUDsKLQkJYnVz LT5zbGF2ZV9zdGF0ZSA9IEFTUEVFRF9JMkNfU0xBVkVfU1RPUDsKLQl9Ci0JaWYgKGlycV9zdGF0 dXMgJiBBU1BFRURfSTJDRF9JTlRSX1RYX05BSyAmJgotCSAgICBidXMtPnNsYXZlX3N0YXRlID09 IEFTUEVFRF9JMkNfU0xBVkVfUkVBRF9QUk9DRVNTRUQpIHsKLQkJaXJxX2hhbmRsZWQgfD0gQVNQ RUVEX0kyQ0RfSU5UUl9UWF9OQUs7Ci0JCWJ1cy0+c2xhdmVfc3RhdGUgPSBBU1BFRURfSTJDX1NM QVZFX1NUT1A7Ci0JfQotCiAJc3dpdGNoIChidXMtPnNsYXZlX3N0YXRlKSB7CiAJY2FzZSBBU1BF RURfSTJDX1NMQVZFX1JFQURfUkVRVUVTVEVEOgogCQlpZiAodW5saWtlbHkoaXJxX3N0YXR1cyAm IEFTUEVFRF9JMkNEX0lOVFJfVFhfQUNLKSkKQEAgLTMyNCw4ICszNDIsNyBAQCBzdGF0aWMgdTMy IGFzcGVlZF9pMmNfc2xhdmVfaXJxKHN0cnVjdCBhc3BlZWRfaTJjX2J1cyAqYnVzLCB1MzIgaXJx X3N0YXR1cykKIAkJaTJjX3NsYXZlX2V2ZW50KHNsYXZlLCBJMkNfU0xBVkVfV1JJVEVfUkVDRUlW RUQsICZ2YWx1ZSk7CiAJCWJyZWFrOwogCWNhc2UgQVNQRUVEX0kyQ19TTEFWRV9TVE9QOgotCQlp MmNfc2xhdmVfZXZlbnQoc2xhdmUsIEkyQ19TTEFWRV9TVE9QLCAmdmFsdWUpOwotCQlidXMtPnNs YXZlX3N0YXRlID0gQVNQRUVEX0kyQ19TTEFWRV9JTkFDVElWRTsKKwkJLyogU3RvcCBldmVudCBo YW5kbGluZyBpcyBkb25lIGVhcmx5LiBVbnJlYWNoYWJsZS4gKi8KIAkJYnJlYWs7CiAJY2FzZSBB U1BFRURfSTJDX1NMQVZFX1NUQVJUOgogCQkvKiBTbGF2ZSB3YXMganVzdCBzdGFydGVkLiBXYWl0 aW5nIGZvciB0aGUgbmV4dCBldmVudC4gKi87CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1h cm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==