From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: Re: [PATCH v2] drm/nouveau/i2c: Disable i2c bus access after ->fini() Date: Thu, 11 Apr 2019 13:37:16 -0400 Message-ID: <430ed8f2ecaf0706c81de0b4d787b9604e07cf0f.camel@redhat.com> References: <20190409202335.4190-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qt1-f194.google.com (mail-qt1-f194.google.com [209.85.160.194]) by gabe.freedesktop.org (Postfix) with ESMTPS id 38FAD8991A for ; Thu, 11 Apr 2019 17:37:19 +0000 (UTC) Received: by mail-qt1-f194.google.com with SMTP id h39so8109559qte.2 for ; Thu, 11 Apr 2019 10:37:19 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ben Skeggs Cc: David Airlie , nouveau@lists.freedesktop.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, dri-devel@lists.freedesktop.org, Ben Skeggs List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCAyMDE5LTA0LTExIGF0IDA4OjQ4ICsxMDAwLCBCZW4gU2tlZ2dzIHdyb3RlOgo+IE9u IFdlZCwgMTAgQXByIDIwMTkgYXQgMDY6MjMsIEx5dWRlIFBhdWwgPGx5dWRlQHJlZGhhdC5jb20+ IHdyb3RlOgo+ID4gRm9yIGEgd2hpbGUsIHdlJ3ZlIGhhZCB0aGUgcHJvYmxlbSBvZiBpMmMgYnVz IGFjY2VzcyBub3QgZ3JhYmJpbmcKPiA+IGEgcnVudGltZSBQTSByZWYgd2hlbiBpdCdzIGJlaW5n IHVzZWQgaW4gdXNlcnNwYWNlIGJ5IGkyYy1kZXYsIHJlc3VsdGluZwo+ID4gaW4gbm91dmVhdSBz cGFtbWluZyB0aGUga2VybmVsIGxvZyB3aXRoIGVycm9ycyBpZiBhbnl0aGluZyBhdHRlbXB0cyB0 bwo+ID4gYWNjZXNzIHRoZSBpMmMgYnVzIHdoaWxlIHRoZSBHUFUgaXMgaW4gcnVudGltZSBzdXNw ZW5kLiBBbiBleGFtcGxlOgo+ID4gCj4gPiBbICAxMzAuMDc4Mzg2XSBub3V2ZWF1IDAwMDA6MDE6 MDAuMDogaTJjOiBhdXggMDAwZDogYmVnaW4gaWRsZSB0aW1lb3V0Cj4gPiBmZmZmZmZmZgo+ID4g Cj4gPiBTaW5jZSB0aGUgR1BVIGlzIGluIHJ1bnRpbWUgc3VzcGVuZCwgdGhlIE1NSU8gcmVnaW9u IHRoYXQgdGhlIGkyYyBidXMgaXMKPiA+IG9uIGlzbid0IGFjY2Vzc2libGUuIE9uIHg4NiwgdGhl IHN0YW5kYXJkIGJlaGF2aW9yIGZvciBhY2Nlc3NpbmcgYW4KPiA+IHVuYXZhaWxhYmxlIE1NSU8g cmVnaW9uIGlzIHRvIGp1c3QgcmV0dXJuIH4wLgo+ID4gCj4gPiBFeGNlcHQsIHRoYXQgdHVybmVk IG91dCB0byBiZSBhIGxpZS4gV2hpbGUgY29tcHV0ZXJzIHdpdGggYSBjbGVhbgo+ID4gY29uY2lv dXMgd2lsbCByZXR1cm4gfjAgaW4gdGhpcyBzY2VuYXJpbywgc29tZSBtYWNoaW5lcyB3aWxsIGFj dHVhbGx5Cj4gPiBjb21wbGV0ZWx5IGhhbmcgYSBDUFUgb24gY2VydGlhbiBiYWQgTU1JTyBhY2Nl c3Nlcy4gVGhpcyB3YXMgd2l0bmVzc2VkCj4gPiB3aXRoIHNvbWVvbmUncyBMZW5vdm8gVGhpbmtQ YWQgUDUwLCB3aGVyZSBzZW5zb3JzLWRldGVjdCBhdHRlbXB0aW5nIHRvCj4gPiBhY2Nlc3MgdGhl IGkyYyBidXMgd2hpbGUgdGhlIEdQVSB3YXMgc3VzcGVuZGVkIHdvdWxkIHJlc3VsdCBpbiBhIENQ VQo+ID4gaGFuZzoKPiA+IAo+ID4gICBDUFU6IDUgUElEOiAxMjQzOCBDb21tOiBzZW5zb3JzLWRl dGVjdCBOb3QgdGFpbnRlZCA1LjAuMC0KPiA+IDAucmM0LmdpdDMuMS5mYzMwLng4Nl82NCAjMQo+ ID4gICBIYXJkd2FyZSBuYW1lOiBMRU5PVk8gMjBFUVM2NE4xNy8yMEVRUzY0TjE3LCBCSU9TIE4x RUVUNzRXICgxLjQ3ICkKPiA+IDExLzIxLzIwMTcKPiA+ICAgUklQOiAwMDEwOmlvcmVhZDMyKzB4 MmIvMHgzMAo+ID4gICBDb2RlOiA4MSBmZiBmZiBmZiAwMyAwMCA3NyAyMCA0OCA4MSBmZiAwMCAw MCAwMSAwMCA3NiAwNSAwZiBiNyBkNyBlZCBjMwo+ID4gICA0OCBjNyBjNiBlMSAwYyAzNiA5NiBl OCAyZCBmZiBmZiBmZiBiOCBmZiBmZiBmZiBmZiBjMyA4YiAwNyA8YzM+IDBmIDFmCj4gPiAgIDQw IDAwIDQ5IDg5IGYwIDQ4IDgxIGZlIGZmIGZmIDAzIDAwIDc2IDA0IDQwIDg4IDNlIGMzIDQ4Cj4g PiAgIFJTUDogMDAxODpmZmZmYWFjM2M1MDA3YjQ4IEVGTEFHUzogMDAwMDAyOTIgT1JJR19SQVg6 IGZmZmZmZmZmZmZmZmZmMTMKPiA+ICAgUkFYOiAwMDAwMDAwMDAxMTExMDAwIFJCWDogMDAwMDAw MDAwMTExMTAwMCBSQ1g6IDAwMDAwNDMwMTdhOTcxODYKPiA+ICAgUkRYOiAwMDAwMDAwMDAwMDAw YWFhIFJTSTogMDAwMDAwMDAwMDAwMDAwNSBSREk6IGZmZmZhYWMzYzQwMGU0ZTQKPiA+ICAgUkJQ OiBmZmZmOWU2NDQzOTAyYzAwIFIwODogZmZmZmFhYzNjNDAwZTRlNCBSMDk6IGZmZmZhYWMzYzUw MDdiZTcKPiA+ICAgUjEwOiAwMDAwMDAwMDAwMDAwMDA0IFIxMTogMDAwMDAwMDAwMDAwMDAwMSBS MTI6IGZmZmY5ZTY0NDVkZDAwMDAKPiA+ICAgUjEzOiAwMDAwMDAwMDAwMDBlNGU0IFIxNDogMDAw MDAwMDAwMDAwMDNjNCBSMTU6IDAwMDAwMDAwMDAwMDAwMDAKPiA+ICAgRlM6ICAwMDAwN2YyNTMx NTVhNzQwKDAwMDApIEdTOmZmZmY5ZTY0NGY2MDAwMDAoMDAwMCkKPiA+IGtubEdTOjAwMDAwMDAw MDAwMDAwMDAKPiA+ICAgQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4 MDA1MDAzMwo+ID4gICBDUjI6IDAwMDA1NjMwZDE1MDAzNTggQ1IzOiAwMDAwMDAwNDE3YzQ0MDA2 IENSNDogMDAwMDAwMDAwMDM2MDZlMAo+ID4gICBEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIxOiAw MDAwMDAwMDAwMDAwMDAwIERSMjogMDAwMDAwMDAwMDAwMDAwMAo+ID4gICBEUjM6IDAwMDAwMDAw MDAwMDAwMDAgRFI2OiAwMDAwMDAwMGZmZmUwZmYwIERSNzogMDAwMDAwMDAwMDAwMDQwMAo+ID4g ICBDYWxsIFRyYWNlOgo+ID4gICAgZzk0X2kyY19hdXhfeGZlcisweDMyNi8weDg1MCBbbm91dmVh dV0KPiA+ICAgIG52a21faTJjX2F1eF9pMmNfeGZlcisweDllLzB4MTQwIFtub3V2ZWF1XQo+ID4g ICAgX19pMmNfdHJhbnNmZXIrMHgxNGIvMHg2MjAKPiA+ICAgIGkyY19zbWJ1c194ZmVyX2VtdWxh dGVkKzB4MTU5LzB4NjgwCj4gPiAgICA/IF9yYXdfc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSsweDEv MHg2MAo+ID4gICAgPyBydF9tdXRleF9zbG93bG9jay5jb25zdHByb3AuMCsweDEzZC8weDFlMAo+ ID4gICAgPyBfX2xvY2tfaXNfaGVsZCsweDU5LzB4YTAKPiA+ICAgIF9faTJjX3NtYnVzX3hmZXIr MHgxMzgvMHg1YTAKPiA+ICAgIGkyY19zbWJ1c194ZmVyKzB4NGYvMHg4MAo+ID4gICAgaTJjZGV2 X2lvY3RsX3NtYnVzKzB4MTYyLzB4MmQwIFtpMmNfZGV2XQo+ID4gICAgaTJjZGV2X2lvY3RsKzB4 MWRiLzB4MmMwIFtpMmNfZGV2XQo+ID4gICAgZG9fdmZzX2lvY3RsKzB4NDA4LzB4NzUwCj4gPiAg ICBrc3lzX2lvY3RsKzB4NWUvMHg5MAo+ID4gICAgX194NjRfc3lzX2lvY3RsKzB4MTYvMHgyMAo+ ID4gICAgZG9fc3lzY2FsbF82NCsweDYwLzB4MWUwCj4gPiAgICBlbnRyeV9TWVNDQUxMXzY0X2Fm dGVyX2h3ZnJhbWUrMHg0OS8weGJlCj4gPiAgIFJJUDogMDAzMzoweDdmMjUzMTdmNTQ2Ygo+ID4g ICBDb2RlOiAwZiAxZSBmYSA0OCA4YiAwNSAxZCBkYSAwYyAwMCA2NCBjNyAwMCAyNiAwMCAwMCAw MCA0OCBjNyBjMCBmZiBmZgo+ID4gICBmZiBmZiBjMyA2NiAwZiAxZiA0NCAwMCAwMCBmMyAwZiAx ZSBmYSBiOCAxMCAwMCAwMCAwMCAwZiAwNSA8NDg+IDNkIDAxCj4gPiAgIGYwIGZmIGZmIDczIDAx IGMzIDQ4IDhiIDBkIGVkIGQ5IDBjIDAwIGY3IGQ4IDY0IDg5IDAxIDQ4Cj4gPiAgIFJTUDogMDAy YjowMDAwN2ZmYzg4Y2FhYjY4IEVGTEFHUzogMDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAw MDAwMTAKPiA+ICAgUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDU2MzBkMGZlNzI2MCBS Q1g6IDAwMDA3ZjI1MzE3ZjU0NmIKPiA+ICAgUkRYOiAwMDAwNTYzMGQxNTk4ZTgwIFJTSTogMDAw MDAwMDAwMDAwMDcyMCBSREk6IDAwMDAwMDAwMDAwMDAwMDMKPiA+ICAgUkJQOiAwMDAwNTYzMGQx NTViOTY4IFIwODogMDAwMDAwMDAwMDAwMDAwMSBSMDk6IDAwMDA1NjMwZDE1YTFkYTAKPiA+ICAg UjEwOiAwMDAwMDAwMDAwMDAwMDcwIFIxMTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDA1NjMw ZDE1OThlODAKPiA+ICAgUjEzOiAwMDAwNTYzMGQxMmYzZDI4IFIxNDogMDAwMDAwMDAwMDAwMDcy MCBSMTU6IDAwMDA1NjMwZDEyZjNjZTAKPiA+ICAgd2F0Y2hkb2c6IEJVRzogc29mdCBsb2NrdXAg LSBDUFUjNSBzdHVjayBmb3IgMjNzISBbc2Vuc29ycy1kZXRlY3Q6MTI0MzhdCj4gPiAKPiA+IFlp a2VzISBXaGlsZSBJIHdhbnRlZCB0byB0cnkgdG8gbWFrZSBpdCBzbyB0aGF0IGFjY2Vzc2luZyBh biBpMmMgYnVzIG9uCj4gPiBub3V2ZWF1IHdvdWxkIHdha2UgdXAgdGhlIEdQVSBhcyBuZWVkZWQs IGFpcmxpZWQgcG9pbnRlZCBvdXQgdGhhdCBwcmV0dHkKPiA+IG11Y2ggYW55IHVzZWNhc2UgZm9y IHVzZXJzcGFjZSBhY2Nlc3NpbmcgYW4gaTJjIGJ1cyBvbiBhIEdQVSAobWFpbmx5IGZvcgo+ID4g dGhlIEREQyBicmlnaHRuZXNzIGNvbnRyb2wgdGhhdCBzb21lIGRpc3BsYXlzIGhhdmUpIGlzIGdv aW5nIHRvIG9ubHkgYmUKPiA+IHVzZWZ1bCB3aGlsZSB0aGVyZSdzIGF0IGxlYXN0IG9uZSBkaXNw bGF5IGVuYWJsZWQgb24gdGhlIEdQVSBhbnl3YXksIGFuZAo+ID4gdGhlIEdQVSBuZXZlciBzbGVl cHMgd2hpbGUgdGhlcmUncyBkaXNwbGF5cyBydW5uaW5nLgo+ID4gCj4gPiBTaW5jZSB0ZWFjaGlu ZyB0aGUgaTJjIGJ1cyB0byB3YWtlIHVwIHRoZSBHUFUgb24gdXNlcnNwYWNlIGFjY2Vzc2VzIGlz IGEKPiA+IGdvb2QgZGVhbCBtb3JlIGRpZmZpY3VsdCB0aGFuIGl0IG1pZ2h0IHNlZW0sIG1vc3Rs eSBkdWUgdG8gdGhlIGZhY3QgdGhhdAo+ID4gd2UgaGF2ZSB0byB1c2UgdGhlIGkyYyBidXMgZHVy aW5nIHJ1bnRpbWUgcmVzdW1lIG9mIHRoZSBHUFUsIHdlIGluc3RlYWQKPiA+IG9wdCBmb3IgdGhl IGVhc2llc3Qgc29sdXRpb246IGRvbid0IGxldCB1c2Vyc3BhY2UgYWNjZXNzIGkyYyBidXNzZXMg b24KPiA+IHRoZSBHUFUgYXQgYWxsIHdoaWxlIGl0J3MgaW4gcnVudGltZSBzdXNwZW5kLgo+ID4g Cj4gPiBDaGFuZ2VzIHNpbmNlIHYxOgo+ID4gKiBBbHNvIGRpc2FibGUgaTJjIGJ1c3NlcyB0aGF0 IHJ1biBvdmVyIERQIEFVWAo+IEkndmUgdXBkYXRlZCBteSB0cmVlIHdpdGggdGhlIHYyIHZlcnNp b24gb2YgdGhlIHBhdGNoLiAgSSBoYXZlbid0Cj4gaW52ZXN0aWdhdGVkIHRvbyB0aG9yb3VnaGx5 LCBidXQgc2hvdWxkbid0IGl0IGJlIHBvc3NpYmxlIHRvIG1vdmUgdGhpcwo+IGNoZWNrIGludG8g YSBzaW5nbGUgcGxhY2UgKHBhZF9hY3F1aXJlKCk/KSBmb3IgYm90aCBpMmMvYXV4PwoKVGhhdCBz aG91bGQgYmUgZmluZSBhcyBsb25nIGFzIHdlIGRvbid0IHVzZSBwYWRzIGluZGVwZW5kZW50bHkg b2YgdGhlaXIgaTJjCmJ1c3NlcyAoZS5nLiB3aXRoaW4gbnZrbSBmb3IgdGhlcm1hbCBzZW5zb3Jz IG9yIHRoZSBsaWtlKSwgYnV0IEkgZGlkbid0IHRha2UKdGhlIHRpbWUgdG8gY2hlY2sgd2hldGhl ciB0aGF0J3MgdHJ1ZSBvciBub3QuIERvIHlvdSBrbm93PwoKPiAKPiBUaGFua3MsCj4gQmVuLgo+ IAo+ID4gU2lnbmVkLW9mZi1ieTogTHl1ZGUgUGF1bCA8bHl1ZGVAcmVkaGF0LmNvbT4KPiA+IENj OiBzdGFibGVAdmdlci5rZXJuZWwub3JnCj4gPiAtLS0KPiA+ICAuLi4vZ3B1L2RybS9ub3V2ZWF1 L2luY2x1ZGUvbnZrbS9zdWJkZXYvaTJjLmggfCAgMiArKwo+ID4gIGRyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L252a20vc3ViZGV2L2kyYy9hdXguYyB8IDI2ICsrKysrKysrKysrKysrKysrKy0KPiA+ ICBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9pMmMvYXV4LmggfCAgMiArKwo+ ID4gIC4uLi9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvaTJjL2Jhc2UuYyAgICB8IDE1ICsr KysrKysrKysrCj4gPiAgZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvaTJjL2J1 cy5jIHwgMjEgKysrKysrKysrKysrKystCj4gPiAgZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZr bS9zdWJkZXYvaTJjL2J1cy5oIHwgIDEgKwo+ID4gIDYgZmlsZXMgY2hhbmdlZCwgNjUgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9ub3V2ZWF1L2luY2x1ZGUvbnZrbS9zdWJkZXYvaTJjLmgKPiA+IGIvZHJpdmVycy9ncHUv ZHJtL25vdXZlYXUvaW5jbHVkZS9udmttL3N1YmRldi9pMmMuaAo+ID4gaW5kZXggZWVmNTRlOWI1 ZDc3Li43OTU3ZWFmYTVmMGUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVh dS9pbmNsdWRlL252a20vc3ViZGV2L2kyYy5oCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91 dmVhdS9pbmNsdWRlL252a20vc3ViZGV2L2kyYy5oCj4gPiBAQCAtMzgsNiArMzgsNyBAQCBzdHJ1 Y3QgbnZrbV9pMmNfYnVzIHsKPiA+ICAgICAgICAgc3RydWN0IG11dGV4IG11dGV4Owo+ID4gICAg ICAgICBzdHJ1Y3QgbGlzdF9oZWFkIGhlYWQ7Cj4gPiAgICAgICAgIHN0cnVjdCBpMmNfYWRhcHRl ciBpMmM7Cj4gPiArICAgICAgIHU4IGVuYWJsZWQ7Cj4gPiAgfTsKPiA+IAo+ID4gIGludCBudmtt X2kyY19idXNfYWNxdWlyZShzdHJ1Y3QgbnZrbV9pMmNfYnVzICopOwo+ID4gQEAgLTU3LDYgKzU4 LDcgQEAgc3RydWN0IG52a21faTJjX2F1eCB7Cj4gPiAgICAgICAgIHN0cnVjdCBtdXRleCBtdXRl eDsKPiA+ICAgICAgICAgc3RydWN0IGxpc3RfaGVhZCBoZWFkOwo+ID4gICAgICAgICBzdHJ1Y3Qg aTJjX2FkYXB0ZXIgaTJjOwo+ID4gKyAgICAgICB1OCBlbmFibGVkOwo+ID4gCj4gPiAgICAgICAg IHUzMiBpbnRyOwo+ID4gIH07Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZl YXUvbnZrbS9zdWJkZXYvaTJjL2F1eC5jCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252 a20vc3ViZGV2L2kyYy9hdXguYwo+ID4gaW5kZXggNGMxZjU0N2RhNDYzLi5iNGU3NDA0ZmU2NjAg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9pMmMv YXV4LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L2kyYy9h dXguYwo+ID4gQEAgLTEwNSw5ICsxMDUsMTUgQEAgbnZrbV9pMmNfYXV4X2FjcXVpcmUoc3RydWN0 IG52a21faTJjX2F1eCAqYXV4KQo+ID4gIHsKPiA+ICAgICAgICAgc3RydWN0IG52a21faTJjX3Bh ZCAqcGFkID0gYXV4LT5wYWQ7Cj4gPiAgICAgICAgIGludCByZXQ7Cj4gPiArCj4gPiAgICAgICAg IEFVWF9UUkFDRShhdXgsICJhY3F1aXJlIik7Cj4gPiAgICAgICAgIG11dGV4X2xvY2soJmF1eC0+ bXV0ZXgpOwo+ID4gLSAgICAgICByZXQgPSBudmttX2kyY19wYWRfYWNxdWlyZShwYWQsIE5WS01f STJDX1BBRF9BVVgpOwo+ID4gKwo+ID4gKyAgICAgICBpZiAoYXV4LT5lbmFibGVkKQo+ID4gKyAg ICAgICAgICAgICAgIHJldCA9IG52a21faTJjX3BhZF9hY3F1aXJlKHBhZCwgTlZLTV9JMkNfUEFE X0FVWCk7Cj4gPiArICAgICAgIGVsc2UKPiA+ICsgICAgICAgICAgICAgICByZXQgPSAtRUlPOwo+ ID4gKwo+ID4gICAgICAgICBpZiAocmV0KQo+ID4gICAgICAgICAgICAgICAgIG11dGV4X3VubG9j aygmYXV4LT5tdXRleCk7Cj4gPiAgICAgICAgIHJldHVybiByZXQ7Cj4gPiBAQCAtMTQ1LDYgKzE1 MSwyNCBAQCBudmttX2kyY19hdXhfZGVsKHN0cnVjdCBudmttX2kyY19hdXggKipwYXV4KQo+ID4g ICAgICAgICB9Cj4gPiAgfQo+ID4gCj4gPiArdm9pZAo+ID4gK252a21faTJjX2F1eF9pbml0KHN0 cnVjdCBudmttX2kyY19hdXggKmF1eCkKPiA+ICt7Cj4gPiArICAgICAgIEFVWF9UUkFDRShhdXgs ICJpbml0Iik7Cj4gPiArICAgICAgIG11dGV4X2xvY2soJmF1eC0+bXV0ZXgpOwo+ID4gKyAgICAg ICBhdXgtPmVuYWJsZWQgPSB0cnVlOwo+ID4gKyAgICAgICBtdXRleF91bmxvY2soJmF1eC0+bXV0 ZXgpOwo+ID4gK30KPiA+ICsKPiA+ICt2b2lkCj4gPiArbnZrbV9pMmNfYXV4X2Zpbmkoc3RydWN0 IG52a21faTJjX2F1eCAqYXV4KQo+ID4gK3sKPiA+ICsgICAgICAgQVVYX1RSQUNFKGF1eCwgImZp bmkiKTsKPiA+ICsgICAgICAgbXV0ZXhfbG9jaygmYXV4LT5tdXRleCk7Cj4gPiArICAgICAgIGF1 eC0+ZW5hYmxlZCA9IGZhbHNlOwo+ID4gKyAgICAgICBtdXRleF91bmxvY2soJmF1eC0+bXV0ZXgp Owo+ID4gK30KPiA+ICsKPiA+ICBpbnQKPiA+ICBudmttX2kyY19hdXhfY3Rvcihjb25zdCBzdHJ1 Y3QgbnZrbV9pMmNfYXV4X2Z1bmMgKmZ1bmMsCj4gPiAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg bnZrbV9pMmNfcGFkICpwYWQsIGludCBpZCwKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vbm91dmVhdS9udmttL3N1YmRldi9pMmMvYXV4LmgKPiA+IGIvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbnZrbS9zdWJkZXYvaTJjL2F1eC5oCj4gPiBpbmRleCA3ZDU2YzRiYTY5M2MuLjA4ZjZi MmVlNjRhYiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3Vi ZGV2L2kyYy9hdXguaAo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJk ZXYvaTJjL2F1eC5oCj4gPiBAQCAtMTYsNiArMTYsOCBAQCBpbnQgbnZrbV9pMmNfYXV4X2N0b3Io Y29uc3Qgc3RydWN0IG52a21faTJjX2F1eF9mdW5jICosCj4gPiBzdHJ1Y3QgbnZrbV9pMmNfcGFk ICosCj4gPiAgaW50IG52a21faTJjX2F1eF9uZXdfKGNvbnN0IHN0cnVjdCBudmttX2kyY19hdXhf ZnVuYyAqLCBzdHJ1Y3QKPiA+IG52a21faTJjX3BhZCAqLAo+ID4gICAgICAgICAgICAgICAgICAg ICAgIGludCBpZCwgc3RydWN0IG52a21faTJjX2F1eCAqKik7Cj4gPiAgdm9pZCBudmttX2kyY19h dXhfZGVsKHN0cnVjdCBudmttX2kyY19hdXggKiopOwo+ID4gK3ZvaWQgbnZrbV9pMmNfYXV4X2lu aXQoc3RydWN0IG52a21faTJjX2F1eCAqKTsKPiA+ICt2b2lkIG52a21faTJjX2F1eF9maW5pKHN0 cnVjdCBudmttX2kyY19hdXggKik7Cj4gPiAgaW50IG52a21faTJjX2F1eF94ZmVyKHN0cnVjdCBu dmttX2kyY19hdXggKiwgYm9vbCByZXRyeSwgdTggdHlwZSwKPiA+ICAgICAgICAgICAgICAgICAg ICAgICB1MzIgYWRkciwgdTggKmRhdGEsIHU4ICpzaXplKTsKPiA+IAo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L2kyYy9iYXNlLmMKPiA+IGIvZHJp dmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvaTJjL2Jhc2UuYwo+ID4gaW5kZXggNGYx OTdiMTVhY2Y2Li5lY2FjYjIyODM0ZDcgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v bm91dmVhdS9udmttL3N1YmRldi9pMmMvYmFzZS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v bm91dmVhdS9udmttL3N1YmRldi9pMmMvYmFzZS5jCj4gPiBAQCAtMTYwLDggKzE2MCwxOCBAQCBu dmttX2kyY19maW5pKHN0cnVjdCBudmttX3N1YmRldiAqc3ViZGV2LCBib29sCj4gPiBzdXNwZW5k KQo+ID4gIHsKPiA+ICAgICAgICAgc3RydWN0IG52a21faTJjICppMmMgPSBudmttX2kyYyhzdWJk ZXYpOwo+ID4gICAgICAgICBzdHJ1Y3QgbnZrbV9pMmNfcGFkICpwYWQ7Cj4gPiArICAgICAgIHN0 cnVjdCBudmttX2kyY19idXMgKmJ1czsKPiA+ICsgICAgICAgc3RydWN0IG52a21faTJjX2F1eCAq YXV4Owo+ID4gICAgICAgICB1MzIgbWFzazsKPiA+IAo+ID4gKyAgICAgICBsaXN0X2Zvcl9lYWNo X2VudHJ5KGF1eCwgJmkyYy0+YXV4LCBoZWFkKSB7Cj4gPiArICAgICAgICAgICAgICAgbnZrbV9p MmNfYXV4X2ZpbmkoYXV4KTsKPiA+ICsgICAgICAgfQo+ID4gKwo+ID4gKyAgICAgICBsaXN0X2Zv cl9lYWNoX2VudHJ5KGJ1cywgJmkyYy0+YnVzLCBoZWFkKSB7Cj4gPiArICAgICAgICAgICAgICAg bnZrbV9pMmNfYnVzX2ZpbmkoYnVzKTsKPiA+ICsgICAgICAgfQo+ID4gKwo+ID4gICAgICAgICBp ZiAoKG1hc2sgPSAoMSA8PCBpMmMtPmZ1bmMtPmF1eCkgLSAxKSwgaTJjLT5mdW5jLT5hdXhfc3Rh dCkgewo+ID4gICAgICAgICAgICAgICAgIGkyYy0+ZnVuYy0+YXV4X21hc2soaTJjLCBOVktNX0ky Q19BTlksIG1hc2ssIDApOwo+ID4gICAgICAgICAgICAgICAgIGkyYy0+ZnVuYy0+YXV4X3N0YXQo aTJjLCAmbWFzaywgJm1hc2ssICZtYXNrLCAmbWFzayk7Cj4gPiBAQCAtMTgwLDYgKzE5MCw3IEBA IG52a21faTJjX2luaXQoc3RydWN0IG52a21fc3ViZGV2ICpzdWJkZXYpCj4gPiAgICAgICAgIHN0 cnVjdCBudmttX2kyYyAqaTJjID0gbnZrbV9pMmMoc3ViZGV2KTsKPiA+ICAgICAgICAgc3RydWN0 IG52a21faTJjX2J1cyAqYnVzOwo+ID4gICAgICAgICBzdHJ1Y3QgbnZrbV9pMmNfcGFkICpwYWQ7 Cj4gPiArICAgICAgIHN0cnVjdCBudmttX2kyY19hdXggKmF1eDsKPiA+IAo+ID4gICAgICAgICBs aXN0X2Zvcl9lYWNoX2VudHJ5KHBhZCwgJmkyYy0+cGFkLCBoZWFkKSB7Cj4gPiAgICAgICAgICAg ICAgICAgbnZrbV9pMmNfcGFkX2luaXQocGFkKTsKPiA+IEBAIC0xODksNiArMjAwLDEwIEBAIG52 a21faTJjX2luaXQoc3RydWN0IG52a21fc3ViZGV2ICpzdWJkZXYpCj4gPiAgICAgICAgICAgICAg ICAgbnZrbV9pMmNfYnVzX2luaXQoYnVzKTsKPiA+ICAgICAgICAgfQo+ID4gCj4gPiArICAgICAg IGxpc3RfZm9yX2VhY2hfZW50cnkoYXV4LCAmaTJjLT5hdXgsIGhlYWQpIHsKPiA+ICsgICAgICAg ICAgICAgICBudmttX2kyY19hdXhfaW5pdChhdXgpOwo+ID4gKyAgICAgICB9Cj4gPiArCj4gPiAg ICAgICAgIHJldHVybiAwOwo+ID4gIH0KPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L2kyYy9idXMuYwo+ID4gYi9kcml2ZXJzL2dwdS9kcm0v bm91dmVhdS9udmttL3N1YmRldi9pMmMvYnVzLmMKPiA+IGluZGV4IDgwN2EyYjY3YmQ2NC4uZWQ1 MGNjMzczNmI5IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9z dWJkZXYvaTJjL2J1cy5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3N1 YmRldi9pMmMvYnVzLmMKPiA+IEBAIC0xMTAsNiArMTEwLDE5IEBAIG52a21faTJjX2J1c19pbml0 KHN0cnVjdCBudmttX2kyY19idXMgKmJ1cykKPiA+ICAgICAgICAgQlVTX1RSQUNFKGJ1cywgImlu aXQiKTsKPiA+ICAgICAgICAgaWYgKGJ1cy0+ZnVuYy0+aW5pdCkKPiA+ICAgICAgICAgICAgICAg ICBidXMtPmZ1bmMtPmluaXQoYnVzKTsKPiA+ICsKPiA+ICsgICAgICAgbXV0ZXhfbG9jaygmYnVz LT5tdXRleCk7Cj4gPiArICAgICAgIGJ1cy0+ZW5hYmxlZCA9IHRydWU7Cj4gPiArICAgICAgIG11 dGV4X3VubG9jaygmYnVzLT5tdXRleCk7Cj4gPiArfQo+ID4gKwo+ID4gK3ZvaWQKPiA+ICtudmtt X2kyY19idXNfZmluaShzdHJ1Y3QgbnZrbV9pMmNfYnVzICpidXMpCj4gPiArewo+ID4gKyAgICAg ICBCVVNfVFJBQ0UoYnVzLCAiZmluaSIpOwo+ID4gKyAgICAgICBtdXRleF9sb2NrKCZidXMtPm11 dGV4KTsKPiA+ICsgICAgICAgYnVzLT5lbmFibGVkID0gZmFsc2U7Cj4gPiArICAgICAgIG11dGV4 X3VubG9jaygmYnVzLT5tdXRleCk7Cj4gPiAgfQo+ID4gCj4gPiAgdm9pZAo+ID4gQEAgLTEyNiw5 ICsxMzksMTUgQEAgbnZrbV9pMmNfYnVzX2FjcXVpcmUoc3RydWN0IG52a21faTJjX2J1cyAqYnVz KQo+ID4gIHsKPiA+ICAgICAgICAgc3RydWN0IG52a21faTJjX3BhZCAqcGFkID0gYnVzLT5wYWQ7 Cj4gPiAgICAgICAgIGludCByZXQ7Cj4gPiArCj4gPiAgICAgICAgIEJVU19UUkFDRShidXMsICJh Y3F1aXJlIik7Cj4gPiAgICAgICAgIG11dGV4X2xvY2soJmJ1cy0+bXV0ZXgpOwo+ID4gLSAgICAg ICByZXQgPSBudmttX2kyY19wYWRfYWNxdWlyZShwYWQsIE5WS01fSTJDX1BBRF9JMkMpOwo+ID4g Kwo+ID4gKyAgICAgICBpZiAoYnVzLT5lbmFibGVkKQo+ID4gKyAgICAgICAgICAgICAgIHJldCA9 IG52a21faTJjX3BhZF9hY3F1aXJlKHBhZCwgTlZLTV9JMkNfUEFEX0kyQyk7Cj4gPiArICAgICAg IGVsc2UKPiA+ICsgICAgICAgICAgICAgICByZXQgPSAtRUlPOwo+ID4gKwo+ID4gICAgICAgICBp ZiAocmV0KQo+ID4gICAgICAgICAgICAgICAgIG11dGV4X3VubG9jaygmYnVzLT5tdXRleCk7Cj4g PiAgICAgICAgIHJldHVybiByZXQ7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbnZrbS9zdWJkZXYvaTJjL2J1cy5oCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1 L252a20vc3ViZGV2L2kyYy9idXMuaAo+ID4gaW5kZXggYmVhMGRkMzM5NjFlLi40NjU0NjRiYmE1 OGIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9p MmMvYnVzLmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L2ky Yy9idXMuaAo+ID4gQEAgLTE4LDYgKzE4LDcgQEAgaW50IG52a21faTJjX2J1c19uZXdfKGNvbnN0 IHN0cnVjdCBudmttX2kyY19idXNfZnVuYyAqLAo+ID4gc3RydWN0IG52a21faTJjX3BhZCAqLAo+ ID4gICAgICAgICAgICAgICAgICAgICAgIGludCBpZCwgc3RydWN0IG52a21faTJjX2J1cyAqKik7 Cj4gPiAgdm9pZCBudmttX2kyY19idXNfZGVsKHN0cnVjdCBudmttX2kyY19idXMgKiopOwo+ID4g IHZvaWQgbnZrbV9pMmNfYnVzX2luaXQoc3RydWN0IG52a21faTJjX2J1cyAqKTsKPiA+ICt2b2lk IG52a21faTJjX2J1c19maW5pKHN0cnVjdCBudmttX2kyY19idXMgKik7Cj4gPiAKPiA+ICBpbnQg bnZrbV9pMmNfYml0X3hmZXIoc3RydWN0IG52a21faTJjX2J1cyAqLCBzdHJ1Y3QgaTJjX21zZyAq LCBpbnQpOwo+ID4gCj4gPiAtLQo+ID4gMi4yMC4xCj4gPiAKPiA+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0 Cj4gPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAotLSAKQ2hlZXJzLAoJTHl1 ZGUgUGF1bAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs