From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 1/2] drm/i915: Add support for retrying hotplug Date: Mon, 25 Feb 2019 13:02:45 +0200 Message-ID: <87mumkruzu.fsf@intel.com> References: <20190222210834.17580-1-jose.souza@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4C63A89319 for ; Mon, 25 Feb 2019 11:00:43 +0000 (UTC) In-Reply-To: <20190222210834.17580-1-jose.souza@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?utf-8?Q?Jos=C3=A9?= Roberto de Souza , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAyMiBGZWIgMjAxOSwgSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSA8am9zZS5zb3V6YUBp bnRlbC5jb20+IHdyb3RlOgo+IEZyb206IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4K Pgo+IFRoZXJlIGlzIHNvbWUgc2NlbmFyaW9zIHRoYXQgd2UgYXJlIGF3YXJlIHRoYXQgc2luayBw cm9iZSBjYW4gZmFpbCwKPiBzbyBsZXRzIGFkZCB0aGUgaW5mcmFzdHJ1Y3R1cmUgdG8gbGV0IGhv dHBsdWcoKSBob29rIHRvIHJlcXVlc3QKPiBhbm90aGVyIHByb2JlIGFmdGVyIHNvbWUgdGltZS4K ClNlZSBhbHNvCgpodHRwOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9wYXRjaC9tc2dpZC8y MDE4MDkyNTA3MTgzNi4yNDcxMS0xLWphbmkubmlrdWxhQGludGVsLmNvbQoKQlIsCkphbmkuCgo+ Cj4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4g U2lnbmVkLW9mZi1ieTogSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSA8am9zZS5zb3V6YUBpbnRlbC5j b20+Cj4gU2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4K PiBTaWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cj4gLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICB8ICAyICstCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICB8ICAzICstCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RkaS5jICAgICB8IDEyICsrKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcC5jICAgICAgfCAxMiArKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmggICAgIHwgMTcgKysrKysrKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hv dHBsdWcuYyB8IDU2ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfc2R2by5jICAgIHwgIDggKystLQo+ICA3IGZpbGVzIGNoYW5nZWQsIDc5 IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k ZWJ1Z2ZzLmMKPiBpbmRleCAzNzE3NTQxNGNlODkuLjgxNDliZTYyYTYzMCAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gQEAgLTQyOTYsNyArNDI5Niw3IEBAIHN0YXRpYyBp bnQgaTkxNV9ocGRfc3Rvcm1fY3RsX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRh KQo+ICAJICovCj4gIAlzeW5jaHJvbml6ZV9pcnEoZGV2X3ByaXYtPmRybS5pcnEpOwo+ICAJZmx1 c2hfd29yaygmZGV2X3ByaXYtPmhvdHBsdWcuZGlnX3BvcnRfd29yayk7Cj4gLQlmbHVzaF93b3Jr KCZkZXZfcHJpdi0+aG90cGx1Zy5ob3RwbHVnX3dvcmspOwo+ICsJZmx1c2hfZGVsYXllZF93b3Jr KCZkZXZfcHJpdi0+aG90cGx1Zy5ob3RwbHVnX3dvcmspOwo+ICAKPiAgCXNlcV9wcmludGYobSwg IlRocmVzaG9sZDogJWRcbiIsIGhvdHBsdWctPmhwZF9zdG9ybV90aHJlc2hvbGQpOwo+ICAJc2Vx X3ByaW50ZihtLCAiRGV0ZWN0ZWQ6ICVzXG4iLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGlu ZGV4IGJiMGU3NWU0Mzk4Ny4uNTcwMzUyNmJkZGFiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCj4gQEAgLTE1Niw3ICsxNTYsNyBAQCBlbnVtIGhwZF9waW4gewo+ICAjZGVmaW5lIEhQRF9T VE9STV9ERUZBVUxUX1RIUkVTSE9MRCA1MAo+ICAKPiAgc3RydWN0IGk5MTVfaG90cGx1ZyB7Cj4g LQlzdHJ1Y3Qgd29ya19zdHJ1Y3QgaG90cGx1Z193b3JrOwo+ICsJc3RydWN0IGRlbGF5ZWRfd29y ayBob3RwbHVnX3dvcms7Cj4gIAo+ICAJc3RydWN0IHsKPiAgCQl1bnNpZ25lZCBsb25nIGxhc3Rf amlmZmllczsKPiBAQCAtMTY4LDYgKzE2OCw3IEBAIHN0cnVjdCBpOTE1X2hvdHBsdWcgewo+ICAJ CX0gc3RhdGU7Cj4gIAl9IHN0YXRzW0hQRF9OVU1fUElOU107Cj4gIAl1MzIgZXZlbnRfYml0czsK PiArCXUzMiByZXRyeV9iaXRzOwo+ICAJc3RydWN0IGRlbGF5ZWRfd29yayByZWVuYWJsZV93b3Jr Owo+ICAKPiAgCXUzMiBsb25nX3BvcnRfbWFzazsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ IGluZGV4IGVhODMwNzFhMjJjNC4uMTY3NmE4N2YxOGNiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGRpLmMKPiBAQCAtNDA1MSwxNCArNDA1MSwxNiBAQCBzdGF0aWMgaW50IGludGVsX2hkbWlf cmVzZXRfbGluayhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCXJldHVybiBtb2Rl c2V0X3BpcGUoJmNydGMtPmJhc2UsIGN0eCk7Cj4gIH0KPiAgCj4gLXN0YXRpYyBib29sIGludGVs X2RkaV9ob3RwbHVnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+IC0JCQkgICAgICBz dHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4gK3N0YXRpYyBlbnVtIGludGVsX2hv dHBsdWdfc3RhdGUKPiAraW50ZWxfZGRpX2hvdHBsdWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCj4gKwkJICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCj4gKwkJICBi b29sIGlycV9yZWNlaXZlZCkKPiAgewo+ICAJc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4 IGN0eDsKPiAtCWJvb2wgY2hhbmdlZDsKPiArCWVudW0gaW50ZWxfaG90cGx1Z19zdGF0ZSBzdGF0 ZTsKPiAgCWludCByZXQ7Cj4gIAo+IC0JY2hhbmdlZCA9IGludGVsX2VuY29kZXJfaG90cGx1Zyhl bmNvZGVyLCBjb25uZWN0b3IpOwo+ICsJc3RhdGUgPSBpbnRlbF9lbmNvZGVyX2hvdHBsdWcoZW5j b2RlciwgY29ubmVjdG9yLCBpcnFfcmVjZWl2ZWQpOwo+ICAKPiAgCWRybV9tb2Rlc2V0X2FjcXVp cmVfaW5pdCgmY3R4LCAwKTsKPiAgCj4gQEAgLTQwODAsNyArNDA4Miw3IEBAIHN0YXRpYyBib29s IGludGVsX2RkaV9ob3RwbHVnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJZHJt X21vZGVzZXRfYWNxdWlyZV9maW5pKCZjdHgpOwo+ICAJV0FSTihyZXQsICJBY3F1aXJpbmcgbW9k ZXNldCBsb2NrcyBmYWlsZWQgd2l0aCAlaVxuIiwgcmV0KTsKPiAgCj4gLQlyZXR1cm4gY2hhbmdl ZDsKPiArCXJldHVybiBzdGF0ZTsKPiAgfQo+ICAKPiAgc3RhdGljIHN0cnVjdCBpbnRlbF9jb25u ZWN0b3IgKgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IGluZGV4IGUxYTA1MWMwZmJmZS4uMGJi NDNlYWExNTRjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gQEAgLTQ3MzQsMTQgKzQ3 MzQsMTYgQEAgaW50IGludGVsX2RwX3JldHJhaW5fbGluayhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKPiAgICogcmV0cmFpbiB0aGUgbGluayB0byBnZXQgYSBwaWN0dXJlLiBUaGF0J3Mg aW4gY2FzZSBubwo+ICAgKiB1c2Vyc3BhY2UgY29tcG9uZW50IHJlYWN0ZWQgdG8gaW50ZXJtaXR0 ZW50IEhQRCBkaXAuCj4gICAqLwo+IC1zdGF0aWMgYm9vbCBpbnRlbF9kcF9ob3RwbHVnKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+IC0JCQkgICAgIHN0cnVjdCBpbnRlbF9jb25uZWN0 b3IgKmNvbm5lY3RvcikKPiArc3RhdGljIGVudW0gaW50ZWxfaG90cGx1Z19zdGF0ZQo+ICtpbnRl bF9kcF9ob3RwbHVnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICsJCSBzdHJ1Y3Qg aW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCj4gKwkJIGJvb2wgaXJxX3JlY2VpdmVkKQo+ICB7 Cj4gIAlzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggY3R4Owo+IC0JYm9vbCBjaGFuZ2Vk Owo+ICsJZW51bSBpbnRlbF9ob3RwbHVnX3N0YXRlIHN0YXRlOwo+ICAJaW50IHJldDsKPiAgCj4g LQljaGFuZ2VkID0gaW50ZWxfZW5jb2Rlcl9ob3RwbHVnKGVuY29kZXIsIGNvbm5lY3Rvcik7Cj4g KwlzdGF0ZSA9IGludGVsX2VuY29kZXJfaG90cGx1ZyhlbmNvZGVyLCBjb25uZWN0b3IsIGlycV9y ZWNlaXZlZCk7Cj4gIAo+ICAJZHJtX21vZGVzZXRfYWNxdWlyZV9pbml0KCZjdHgsIDApOwo+ICAK PiBAQCAtNDc2MCw3ICs0NzYyLDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfZHBfaG90cGx1ZyhzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCWRybV9tb2Rlc2V0X2FjcXVpcmVfZmluaSgm Y3R4KTsKPiAgCVdBUk4ocmV0LCAiQWNxdWlyaW5nIG1vZGVzZXQgbG9ja3MgZmFpbGVkIHdpdGgg JWlcbiIsIHJldCk7Cj4gIAo+IC0JcmV0dXJuIGNoYW5nZWQ7Cj4gKwlyZXR1cm4gc3RhdGU7Cj4g IH0KPiAgCj4gIHN0YXRpYyB2b2lkIGludGVsX2RwX2NoZWNrX3NlcnZpY2VfaXJxKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHApCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBpbmRleCA4MWVj NzNlNGEwODMuLmRlNjJhZjk3MGRjMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4g QEAgLTIyNiwxNCArMjI2LDIxIEBAIHN0cnVjdCBpbnRlbF9mYmRldiB7Cj4gIAlzdHJ1Y3QgbXV0 ZXggaHBkX2xvY2s7Cj4gIH07Cj4gIAo+ICtlbnVtIGludGVsX2hvdHBsdWdfc3RhdGUgewo+ICsJ SU5URUxfSE9UUExVR19OT0NIQU5HRSwKPiArCUlOVEVMX0hPVFBMVUdfQ0hBTkdFRCwKPiArCUlO VEVMX0hPVFBMVUdfUkVUUlksCj4gK307Cj4gKwo+ICBzdHJ1Y3QgaW50ZWxfZW5jb2RlciB7Cj4g IAlzdHJ1Y3QgZHJtX2VuY29kZXIgYmFzZTsKPiAgCj4gIAllbnVtIGludGVsX291dHB1dF90eXBl IHR5cGU7Cj4gIAllbnVtIHBvcnQgcG9ydDsKPiAgCXVuc2lnbmVkIGludCBjbG9uZWFibGU7Cj4g LQlib29sICgqaG90cGx1Zykoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gLQkJCXN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gKwllbnVtIGludGVsX2hvdHBsdWdf c3RhdGUgKCpob3RwbHVnKShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiArCQkJCQkg ICAgc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICsJCQkJCSAgICBib29sIGly cV9yZWNlaXZlZCk7Cj4gIAllbnVtIGludGVsX291dHB1dF90eXBlICgqY29tcHV0ZV9vdXRwdXRf dHlwZSkoc3RydWN0IGludGVsX2VuY29kZXIgKiwKPiAgCQkJCQkJICAgICAgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKiwKPiAgCQkJCQkJICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUg Kik7Cj4gQEAgLTIwMDMsOCArMjAxMCwxMCBAQCBpbnQgaW50ZWxfZHNpX2Rjc19pbml0X2JhY2ts aWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IpOwo+ICB2 b2lkIGludGVsX2R2b19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4g IC8qIGludGVsX2hvdHBsdWcuYyAqLwo+ICB2b2lkIGludGVsX2hwZF9wb2xsX2luaXQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAtYm9vbCBpbnRlbF9lbmNvZGVyX2hvdHBs dWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gLQkJCSAgIHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gK2VudW0gaW50ZWxfaG90cGx1Z19zdGF0ZQo+ICtpbnRl bF9lbmNvZGVyX2hvdHBsdWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gKwkJICAg ICAgc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICsJCSAgICAgIGJvb2wgaXJx X3JlY2VpdmVkKTsKPiAgCj4gIC8qIGxlZ2FjeSBmYmRldiBlbXVsYXRpb24gaW4gaW50ZWxfZmJk ZXYuYyAqLwo+ICAjaWZkZWYgQ09ORklHX0RSTV9GQkRFVl9FTVVMQVRJT04KPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaG90cGx1Zy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaG90cGx1Zy5jCj4gaW5kZXggYjg5MzdjNzg4ZjAzLi4zZWFhMDY1MjZmNmIg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaG90cGx1Zy5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaG90cGx1Zy5jCj4gQEAgLTExMSw2ICsxMTEs NyBAQCBlbnVtIGhwZF9waW4gaW50ZWxfaHBkX3Bpbl9kZWZhdWx0KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPiAgCj4gICNkZWZpbmUgSFBEX1NUT1JNX0RFVEVDVF9QRVJJT0QJ CTEwMDAKPiAgI2RlZmluZSBIUERfU1RPUk1fUkVFTkFCTEVfREVMQVkJKDIgKiA2MCAqIDEwMDAp Cj4gKyNkZWZpbmUgSFBEX1JFVFJZX0RFTEFZCQkJMTAwMAo+ICAKPiAgLyoqCj4gICAqIGludGVs X2hwZF9pcnFfc3Rvcm1fZGV0ZWN0IC0gZ2F0aGVyIHN0YXRzIGFuZCBkZXRlY3QgSFBEIElSUSBz dG9ybSBvbiBhIHBpbgo+IEBAIC0yNjUsOCArMjY2LDEwIEBAIHN0YXRpYyB2b2lkIGludGVsX2hw ZF9pcnFfc3Rvcm1fcmVlbmFibGVfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gIAlp bnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdiwgd2FrZXJlZik7Cj4gIH0KPiAgCj4gLWJvb2wg aW50ZWxfZW5jb2Rlcl9ob3RwbHVnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+IC0J CQkgICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4gK2VudW0gaW50ZWxfaG90 cGx1Z19zdGF0ZQo+ICtpbnRlbF9lbmNvZGVyX2hvdHBsdWcoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCj4gKwkJICAgICAgc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ ICsJCSAgICAgIGJvb2wgaXJxX3JlY2VpdmVkKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gY29ubmVjdG9yLT5iYXNlLmRldjsKPiAgCWVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMg b2xkX3N0YXR1czsKPiBAQCAtMjc4LDcgKzI4MSw3IEBAIGJvb2wgaW50ZWxfZW5jb2Rlcl9ob3Rw bHVnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCWRybV9oZWxwZXJfcHJvYmVf ZGV0ZWN0KCZjb25uZWN0b3ItPmJhc2UsIE5VTEwsIGZhbHNlKTsKPiAgCj4gIAlpZiAob2xkX3N0 YXR1cyA9PSBjb25uZWN0b3ItPmJhc2Uuc3RhdHVzKQo+IC0JCXJldHVybiBmYWxzZTsKPiArCQly ZXR1cm4gSU5URUxfSE9UUExVR19OT0NIQU5HRTsKPiAgCj4gIAlEUk1fREVCVUdfS01TKCJbQ09O TkVDVE9SOiVkOiVzXSBzdGF0dXMgdXBkYXRlZCBmcm9tICVzIHRvICVzXG4iLAo+ICAJCSAgICAg IGNvbm5lY3Rvci0+YmFzZS5iYXNlLmlkLAo+IEBAIC0yODYsNyArMjg5LDcgQEAgYm9vbCBpbnRl bF9lbmNvZGVyX2hvdHBsdWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJICAg ICAgZHJtX2dldF9jb25uZWN0b3Jfc3RhdHVzX25hbWUob2xkX3N0YXR1cyksCj4gIAkJICAgICAg ZHJtX2dldF9jb25uZWN0b3Jfc3RhdHVzX25hbWUoY29ubmVjdG9yLT5iYXNlLnN0YXR1cykpOwo+ ICAKPiAtCXJldHVybiB0cnVlOwo+ICsJcmV0dXJuIElOVEVMX0hPVFBMVUdfQ0hBTkdFRDsKPiAg fQo+ICAKPiAgc3RhdGljIGJvb2wgaW50ZWxfZW5jb2Rlcl9oYXNfaHBkX3B1bHNlKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyKQo+IEBAIC0zMzgsNyArMzQxLDcgQEAgc3RhdGljIHZvaWQg aTkxNV9kaWdwb3J0X3dvcmtfZnVuYyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gIAkJc3Bp bl9sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKPiAgCQlkZXZfcHJpdi0+aG90cGx1Zy5l dmVudF9iaXRzIHw9IG9sZF9iaXRzOwo+ICAJCXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPmly cV9sb2NrKTsKPiAtCQlzY2hlZHVsZV93b3JrKCZkZXZfcHJpdi0+aG90cGx1Zy5ob3RwbHVnX3dv cmspOwo+ICsJCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmZGV2X3ByaXYtPmhvdHBsdWcuaG90cGx1 Z193b3JrLCAwKTsKPiAgCX0KPiAgfQo+ICAKPiBAQCAtMzQ4LDE0ICszNTEsMTcgQEAgc3RhdGlj IHZvaWQgaTkxNV9kaWdwb3J0X3dvcmtfZnVuYyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4g IHN0YXRpYyB2b2lkIGk5MTVfaG90cGx1Z193b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICp3 b3JrKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPQo+IC0JCWNv bnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSwgaG90cGx1Zy5ob3RwbHVn X3dvcmspOwo+ICsJCWNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSwK PiArCQkJICAgICBob3RwbHVnLmhvdHBsdWdfd29yay53b3JrKTsKPiAgCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSAmZGV2X3ByaXYtPmRybTsKPiAgCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmlu dGVsX2Nvbm5lY3RvcjsKPiAgCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyOwo+ ICAJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKPiAgCXN0cnVjdCBkcm1fY29ubmVj dG9yX2xpc3RfaXRlciBjb25uX2l0ZXI7Cj4gIAlib29sIGNoYW5nZWQgPSBmYWxzZTsKPiArCXUz MiByZXRyeSA9IDA7Cj4gIAl1MzIgaHBkX2V2ZW50X2JpdHM7Cj4gKwl1MzIgaHBkX3JldHJ5X2Jp dHM7Cj4gIAo+ICAJbXV0ZXhfbG9jaygmZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7Cj4gIAlEUk1f REVCVUdfS01TKCJydW5uaW5nIGVuY29kZXIgaG90cGx1ZyBmdW5jdGlvbnNcbiIpOwo+IEBAIC0z NjQsNiArMzcwLDggQEAgc3RhdGljIHZvaWQgaTkxNV9ob3RwbHVnX3dvcmtfZnVuYyhzdHJ1Y3Qg d29ya19zdHJ1Y3QgKndvcmspCj4gIAo+ICAJaHBkX2V2ZW50X2JpdHMgPSBkZXZfcHJpdi0+aG90 cGx1Zy5ldmVudF9iaXRzOwo+ICAJZGV2X3ByaXYtPmhvdHBsdWcuZXZlbnRfYml0cyA9IDA7Cj4g KwlocGRfcmV0cnlfYml0cyA9IGRldl9wcml2LT5ob3RwbHVnLnJldHJ5X2JpdHM7Cj4gKwlkZXZf cHJpdi0+aG90cGx1Zy5yZXRyeV9iaXRzID0gMDsKPiAgCj4gIAkvKiBFbmFibGUgcG9sbGluZyBm b3IgY29ubmVjdG9ycyB3aGljaCBoYWQgSFBEIElSUSBzdG9ybXMgKi8KPiAgCWludGVsX2hwZF9p cnFfc3Rvcm1fc3dpdGNoX3RvX3BvbGxpbmcoZGV2X3ByaXYpOwo+IEBAIC0zNzIsMTYgKzM4MCwy OSBAQCBzdGF0aWMgdm9pZCBpOTE1X2hvdHBsdWdfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVj dCAqd29yaykKPiAgCj4gIAlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9iZWdpbihkZXYsICZjb25u X2l0ZXIpOwo+ICAJZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm5lY3RvciwgJmNvbm5f aXRlcikgewo+ICsJCXUzMiBocGRfYml0Owo+ICsKPiAgCQlpbnRlbF9jb25uZWN0b3IgPSB0b19p bnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKTsKPiAgCQlpZiAoIWludGVsX2Nvbm5lY3Rvci0+ZW5j b2RlcikKPiAgCQkJY29udGludWU7Cj4gIAkJaW50ZWxfZW5jb2RlciA9IGludGVsX2Nvbm5lY3Rv ci0+ZW5jb2RlcjsKPiAtCQlpZiAoaHBkX2V2ZW50X2JpdHMgJiAoMSA8PCBpbnRlbF9lbmNvZGVy LT5ocGRfcGluKSkgewo+ICsJCWhwZF9iaXQgPSBCSVQoaW50ZWxfZW5jb2Rlci0+aHBkX3Bpbik7 Cj4gKwkJaWYgKChocGRfZXZlbnRfYml0cyB8IGhwZF9yZXRyeV9iaXRzKSAmIGhwZF9iaXQpIHsK PiAgCQkJRFJNX0RFQlVHX0tNUygiQ29ubmVjdG9yICVzIChwaW4gJWkpIHJlY2VpdmVkIGhvdHBs dWcgZXZlbnQuXG4iLAo+ICAJCQkJICAgICAgY29ubmVjdG9yLT5uYW1lLCBpbnRlbF9lbmNvZGVy LT5ocGRfcGluKTsKPiAgCj4gLQkJCWNoYW5nZWQgfD0gaW50ZWxfZW5jb2Rlci0+aG90cGx1Zyhp bnRlbF9lbmNvZGVyLAo+IC0JCQkJCQkJICBpbnRlbF9jb25uZWN0b3IpOwo+ICsJCQlzd2l0Y2gg KGludGVsX2VuY29kZXItPmhvdHBsdWcoaW50ZWxfZW5jb2RlciwKPiArCQkJCQkJICAgICAgIGlu dGVsX2Nvbm5lY3RvciwKPiArCQkJCQkJICAgICAgIGhwZF9ldmVudF9iaXRzICYgaHBkX2JpdCkp IHsKPiArCQkJY2FzZSBJTlRFTF9IT1RQTFVHX05PQ0hBTkdFOgo+ICsJCQkJYnJlYWs7Cj4gKwkJ CWNhc2UgSU5URUxfSE9UUExVR19DSEFOR0VEOgo+ICsJCQkJY2hhbmdlZCA9IHRydWU7Cj4gKwkJ CQlicmVhazsKPiArCQkJY2FzZSBJTlRFTF9IT1RQTFVHX1JFVFJZOgo+ICsJCQkJcmV0cnkgfD0g aHBkX2JpdDsKPiArCQkJCWJyZWFrOwo+ICsJCQl9Cj4gIAkJfQo+ICAJfQo+ICAJZHJtX2Nvbm5l Y3Rvcl9saXN0X2l0ZXJfZW5kKCZjb25uX2l0ZXIpOwo+IEBAIC0zODksNiArNDEwLDE1IEBAIHN0 YXRpYyB2b2lkIGk5MTVfaG90cGx1Z193b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICp3b3Jr KQo+ICAKPiAgCWlmIChjaGFuZ2VkKQo+ICAJCWRybV9rbXNfaGVscGVyX2hvdHBsdWdfZXZlbnQo ZGV2KTsKPiArCj4gKwlpZiAocmV0cnkpIHsKPiArCQlzcGluX2xvY2tfaXJxKCZkZXZfcHJpdi0+ aXJxX2xvY2spOwo+ICsJCWRldl9wcml2LT5ob3RwbHVnLnJldHJ5X2JpdHMgfD0gcmV0cnk7Cj4g KwkJc3Bpbl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+ICsKPiArCQltb2RfZGVs YXllZF93b3JrKHN5c3RlbV93cSwgJmRldl9wcml2LT5ob3RwbHVnLmhvdHBsdWdfd29yaywKPiAr CQkJCSBtc2Vjc190b19qaWZmaWVzKEhQRF9SRVRSWV9ERUxBWSkpOwo+ICsJfQo+ICB9Cj4gIAo+ ICAKPiBAQCAtNTE1LDcgKzU0NSw3IEBAIHZvaWQgaW50ZWxfaHBkX2lycV9oYW5kbGVyKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCWlmIChxdWV1ZV9kaWcpCj4gIAkJcXVl dWVfd29yayhkZXZfcHJpdi0+aG90cGx1Zy5kcF93cSwgJmRldl9wcml2LT5ob3RwbHVnLmRpZ19w b3J0X3dvcmspOwo+ICAJaWYgKHF1ZXVlX2hwKQo+IC0JCXNjaGVkdWxlX3dvcmsoJmRldl9wcml2 LT5ob3RwbHVnLmhvdHBsdWdfd29yayk7Cj4gKwkJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZkZXZf cHJpdi0+aG90cGx1Zy5ob3RwbHVnX3dvcmssIDApOwo+ICB9Cj4gIAo+ICAvKioKPiBAQCAtNjM1 LDcgKzY2NSw4IEBAIHZvaWQgaW50ZWxfaHBkX3BvbGxfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4gIAo+ICB2b2lkIGludGVsX2hwZF9pbml0X3dvcmsoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gLQlJTklUX1dPUksoJmRldl9wcml2LT5o b3RwbHVnLmhvdHBsdWdfd29yaywgaTkxNV9ob3RwbHVnX3dvcmtfZnVuYyk7Cj4gKwlJTklUX0RF TEFZRURfV09SSygmZGV2X3ByaXYtPmhvdHBsdWcuaG90cGx1Z193b3JrLAo+ICsJCQkgIGk5MTVf aG90cGx1Z193b3JrX2Z1bmMpOwo+ICAJSU5JVF9XT1JLKCZkZXZfcHJpdi0+aG90cGx1Zy5kaWdf cG9ydF93b3JrLCBpOTE1X2RpZ3BvcnRfd29ya19mdW5jKTsKPiAgCUlOSVRfV09SSygmZGV2X3By aXYtPmhvdHBsdWcucG9sbF9pbml0X3dvcmssIGk5MTVfaHBkX3BvbGxfaW5pdF93b3JrKTsKPiAg CUlOSVRfREVMQVlFRF9XT1JLKCZkZXZfcHJpdi0+aG90cGx1Zy5yZWVuYWJsZV93b3JrLAo+IEBA IC02NDksMTEgKzY4MCwxMiBAQCB2b2lkIGludGVsX2hwZF9jYW5jZWxfd29yayhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAlkZXZfcHJpdi0+aG90cGx1Zy5sb25nX3BvcnRf bWFzayA9IDA7Cj4gIAlkZXZfcHJpdi0+aG90cGx1Zy5zaG9ydF9wb3J0X21hc2sgPSAwOwo+ICAJ ZGV2X3ByaXYtPmhvdHBsdWcuZXZlbnRfYml0cyA9IDA7Cj4gKwlkZXZfcHJpdi0+aG90cGx1Zy5y ZXRyeV9iaXRzID0gMDsKPiAgCj4gIAlzcGluX3VubG9ja19pcnEoJmRldl9wcml2LT5pcnFfbG9j ayk7Cj4gIAo+ICAJY2FuY2VsX3dvcmtfc3luYygmZGV2X3ByaXYtPmhvdHBsdWcuZGlnX3BvcnRf d29yayk7Cj4gLQljYW5jZWxfd29ya19zeW5jKCZkZXZfcHJpdi0+aG90cGx1Zy5ob3RwbHVnX3dv cmspOwo+ICsJY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZkZXZfcHJpdi0+aG90cGx1Zy5ob3Rw bHVnX3dvcmspOwo+ICAJY2FuY2VsX3dvcmtfc3luYygmZGV2X3ByaXYtPmhvdHBsdWcucG9sbF9p bml0X3dvcmspOwo+ICAJY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZkZXZfcHJpdi0+aG90cGx1 Zy5yZWVuYWJsZV93b3JrKTsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9zZHZvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKPiBpbmRl eCBlN2IwODg0YmE1YTUuLjkyNzkzNDc1YjJiOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9zZHZvLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9z ZHZvLmMKPiBAQCAtMTcyMiwxMiArMTcyMiwxNCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9zZHZvX2Vu YWJsZV9ob3RwbHVnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAJCQkgICAgICZp bnRlbF9zZHZvLT5ob3RwbHVnX2FjdGl2ZSwgMik7Cj4gIH0KPiAgCj4gLXN0YXRpYyBib29sIGlu dGVsX3Nkdm9faG90cGx1ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAtCQkJICAg ICAgIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiArc3RhdGljIGVudW0gaW50 ZWxfaG90cGx1Z19zdGF0ZQo+ICtpbnRlbF9zZHZvX2hvdHBsdWcoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCj4gKwkJICAgc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ ICsJCSAgIGJvb2wgaXJxX3JlY2VpdmVkKQo+ICB7Cj4gIAlpbnRlbF9zZHZvX2VuYWJsZV9ob3Rw bHVnKGVuY29kZXIpOwo+ICAKPiAtCXJldHVybiBpbnRlbF9lbmNvZGVyX2hvdHBsdWcoZW5jb2Rl ciwgY29ubmVjdG9yKTsKPiArCXJldHVybiBpbnRlbF9lbmNvZGVyX2hvdHBsdWcoZW5jb2Rlciwg Y29ubmVjdG9yLCBpcnFfcmVjZWl2ZWQpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgYm9vbAoKLS0gCkph bmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBHcmFwaGljcyBDZW50ZXIKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4