From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 1/2] drm/i915: Add support for retrying hotplug Date: Thu, 14 Mar 2019 18:09:35 +0200 Message-ID: <20190314160935.GA9133@ideak-desk.fi.intel.com> References: <20190313005852.17119-1-jose.souza@intel.com> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id BFBE96E2EB for ; Thu, 14 Mar 2019 16:09:41 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190313005852.17119-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: =?iso-8859-1?Q?Jos=E9?= Roberto de Souza Cc: Jani Nikula , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBNYXIgMTIsIDIwMTkgYXQgMDU6NTg6NTFQTSAtMDcwMCwgSm9zw6kgUm9iZXJ0byBk ZSBTb3V6YSB3cm90ZToKPiBGcm9tOiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cj4g Cj4gVGhlcmUgaXMgc29tZSBzY2VuYXJpb3MgdGhhdCB3ZSBhcmUgYXdhcmUgdGhhdCBzaW5rIHBy b2JlIGNhbiBmYWlsLAo+IHNvIGxldHMgYWRkIHRoZSBpbmZyYXN0cnVjdHVyZSB0byBsZXQgaG90 cGx1ZygpIGhvb2sgdG8gcmVxdWVzdAo+IGFub3RoZXIgcHJvYmUgYWZ0ZXIgc29tZSB0aW1lLgo+ IAo+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ IFNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwu Y29tPgo+IFNpZ25lZC1vZmYtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+ Cj4gU2lnbmVkLW9mZi1ieTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgo+IC0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgfCAgMiArLQo+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAgMyArLQo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kZGkuYyAgICAgfCAxMiArKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYyAgICAgIHwgMTIgKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oICAgICB8IDE3ICsrKysrKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o b3RwbHVnLmMgfCA1NiArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Nkdm8uYyAgICB8ICA4ICsrLS0KPiAgNyBmaWxlcyBjaGFuZ2VkLCA3 OSBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2RlYnVnZnMuYwo+IGluZGV4IDZhOTA1NThkZTIxMy4uZjkzYWFiMTY1YzdlIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBAQCAtNDI4OSw3ICs0Mjg5LDcgQEAgc3RhdGlj IGludCBpOTE1X2hwZF9zdG9ybV9jdGxfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRh dGEpCj4gIAkgKi8KPiAgCXN5bmNocm9uaXplX2lycShkZXZfcHJpdi0+ZHJtLmlycSk7Cj4gIAlm bHVzaF93b3JrKCZkZXZfcHJpdi0+aG90cGx1Zy5kaWdfcG9ydF93b3JrKTsKPiAtCWZsdXNoX3dv cmsoJmRldl9wcml2LT5ob3RwbHVnLmhvdHBsdWdfd29yayk7Cj4gKwlmbHVzaF9kZWxheWVkX3dv cmsoJmRldl9wcml2LT5ob3RwbHVnLmhvdHBsdWdfd29yayk7Cj4gIAo+ICAJc2VxX3ByaW50Ziht LCAiVGhyZXNob2xkOiAlZFxuIiwgaG90cGx1Zy0+aHBkX3N0b3JtX3RocmVzaG9sZCk7Cj4gIAlz ZXFfcHJpbnRmKG0sICJEZXRlY3RlZDogJXNcbiIsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4g aW5kZXggZGM2MzMwMzIyNWZjLi5mNDdjZWM4YjdmMDEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKPiBAQCAtMTU2LDcgKzE1Niw3IEBAIGVudW0gaHBkX3BpbiB7Cj4gICNkZWZpbmUgSFBE X1NUT1JNX0RFRkFVTFRfVEhSRVNIT0xEIDUwCj4gIAo+ICBzdHJ1Y3QgaTkxNV9ob3RwbHVnIHsK PiAtCXN0cnVjdCB3b3JrX3N0cnVjdCBob3RwbHVnX3dvcms7Cj4gKwlzdHJ1Y3QgZGVsYXllZF93 b3JrIGhvdHBsdWdfd29yazsKPiAgCj4gIAlzdHJ1Y3Qgewo+ICAJCXVuc2lnbmVkIGxvbmcgbGFz dF9qaWZmaWVzOwo+IEBAIC0xNjgsNiArMTY4LDcgQEAgc3RydWN0IGk5MTVfaG90cGx1ZyB7Cj4g IAkJfSBzdGF0ZTsKPiAgCX0gc3RhdHNbSFBEX05VTV9QSU5TXTsKPiAgCXUzMiBldmVudF9iaXRz Owo+ICsJdTMyIHJldHJ5X2JpdHM7Cj4gIAlzdHJ1Y3QgZGVsYXllZF93b3JrIHJlZW5hYmxlX3dv cms7Cj4gIAo+ICAJdTMyIGxvbmdfcG9ydF9tYXNrOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5j Cj4gaW5kZXggN2UzYjRlOGZkZjNhLi41Yjg0MGE1ZDAwY2MgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kZGkuYwo+IEBAIC00MDUzLDE0ICs0MDUzLDE2IEBAIHN0YXRpYyBpbnQgaW50ZWxfaGRt aV9yZXNldF9saW5rKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJcmV0dXJuIG1v ZGVzZXRfcGlwZSgmY3J0Yy0+YmFzZSwgY3R4KTsKPiAgfQo+ICAKPiAtc3RhdGljIGJvb2wgaW50 ZWxfZGRpX2hvdHBsdWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gLQkJCSAgICAg IHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiArc3RhdGljIGVudW0gaW50ZWxf aG90cGx1Z19zdGF0ZQo+ICtpbnRlbF9kZGlfaG90cGx1ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKPiArCQkgIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiArCQkg IGJvb2wgaXJxX3JlY2VpdmVkKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9j dHggY3R4Owo+IC0JYm9vbCBjaGFuZ2VkOwo+ICsJZW51bSBpbnRlbF9ob3RwbHVnX3N0YXRlIHN0 YXRlOwo+ICAJaW50IHJldDsKPiAgCj4gLQljaGFuZ2VkID0gaW50ZWxfZW5jb2Rlcl9ob3RwbHVn KGVuY29kZXIsIGNvbm5lY3Rvcik7Cj4gKwlzdGF0ZSA9IGludGVsX2VuY29kZXJfaG90cGx1Zyhl bmNvZGVyLCBjb25uZWN0b3IsIGlycV9yZWNlaXZlZCk7Cj4gIAo+ICAJZHJtX21vZGVzZXRfYWNx dWlyZV9pbml0KCZjdHgsIDApOwo+ICAKPiBAQCAtNDA4Miw3ICs0MDg0LDcgQEAgc3RhdGljIGJv b2wgaW50ZWxfZGRpX2hvdHBsdWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlk cm1fbW9kZXNldF9hY3F1aXJlX2ZpbmkoJmN0eCk7Cj4gIAlXQVJOKHJldCwgIkFjcXVpcmluZyBt b2Rlc2V0IGxvY2tzIGZhaWxlZCB3aXRoICVpXG4iLCByZXQpOwo+ICAKPiAtCXJldHVybiBjaGFu Z2VkOwo+ICsJcmV0dXJuIHN0YXRlOwo+ICB9Cj4gIAo+ICBzdGF0aWMgc3RydWN0IGludGVsX2Nv bm5lY3RvciAqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gaW5kZXggZjQwYjMzNDJkODJhLi5m NzRlNzIxNzM4NzQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBAQCAtNDczOCwxNCAr NDczOCwxNiBAQCBpbnQgaW50ZWxfZHBfcmV0cmFpbl9saW5rKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAo+ICAgKiByZXRyYWluIHRoZSBsaW5rIHRvIGdldCBhIHBpY3R1cmUuIFRoYXQn cyBpbiBjYXNlIG5vCj4gICAqIHVzZXJzcGFjZSBjb21wb25lbnQgcmVhY3RlZCB0byBpbnRlcm1p dHRlbnQgSFBEIGRpcC4KPiAgICovCj4gLXN0YXRpYyBib29sIGludGVsX2RwX2hvdHBsdWcoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gLQkJCSAgICAgc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQo+ICtzdGF0aWMgZW51bSBpbnRlbF9ob3RwbHVnX3N0YXRlCj4gK2lu dGVsX2RwX2hvdHBsdWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gKwkJIHN0cnVj dCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiArCQkgYm9vbCBpcnFfcmVjZWl2ZWQpCj4g IHsKPiAgCXN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCBjdHg7Cj4gLQlib29sIGNoYW5n ZWQ7Cj4gKwllbnVtIGludGVsX2hvdHBsdWdfc3RhdGUgc3RhdGU7Cj4gIAlpbnQgcmV0Owo+ICAK PiAtCWNoYW5nZWQgPSBpbnRlbF9lbmNvZGVyX2hvdHBsdWcoZW5jb2RlciwgY29ubmVjdG9yKTsK PiArCXN0YXRlID0gaW50ZWxfZW5jb2Rlcl9ob3RwbHVnKGVuY29kZXIsIGNvbm5lY3RvciwgaXJx X3JlY2VpdmVkKTsKPiAgCj4gIAlkcm1fbW9kZXNldF9hY3F1aXJlX2luaXQoJmN0eCwgMCk7Cj4g IAo+IEBAIC00NzY0LDcgKzQ3NjYsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kcF9ob3RwbHVnKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJZHJtX21vZGVzZXRfYWNxdWlyZV9maW5p KCZjdHgpOwo+ICAJV0FSTihyZXQsICJBY3F1aXJpbmcgbW9kZXNldCBsb2NrcyBmYWlsZWQgd2l0 aCAlaVxuIiwgcmV0KTsKPiAgCj4gLQlyZXR1cm4gY2hhbmdlZDsKPiArCXJldHVybiBzdGF0ZTsK PiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgaW50ZWxfZHBfY2hlY2tfc2VydmljZV9pcnEoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IDQw ZWJjOTRiMjE4Ny4uYmU5ZmUwMjY4NDcyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK PiBAQCAtMjI2LDE0ICsyMjYsMjEgQEAgc3RydWN0IGludGVsX2ZiZGV2IHsKPiAgCXN0cnVjdCBt dXRleCBocGRfbG9jazsKPiAgfTsKPiAgCj4gK2VudW0gaW50ZWxfaG90cGx1Z19zdGF0ZSB7Cj4g KwlJTlRFTF9IT1RQTFVHX05PQ0hBTkdFLAo+ICsJSU5URUxfSE9UUExVR19DSEFOR0VELAo+ICsJ SU5URUxfSE9UUExVR19SRVRSWSwKPiArfTsKPiArCj4gIHN0cnVjdCBpbnRlbF9lbmNvZGVyIHsK PiAgCXN0cnVjdCBkcm1fZW5jb2RlciBiYXNlOwo+ICAKPiAgCWVudW0gaW50ZWxfb3V0cHV0X3R5 cGUgdHlwZTsKPiAgCWVudW0gcG9ydCBwb3J0Owo+ICAJdW5zaWduZWQgaW50IGNsb25lYWJsZTsK PiAtCWJvb2wgKCpob3RwbHVnKShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAtCQkJ c3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiArCWVudW0gaW50ZWxfaG90cGx1 Z19zdGF0ZSAoKmhvdHBsdWcpKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICsJCQkJ CSAgICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCj4gKwkJCQkJICAgIGJvb2wg aXJxX3JlY2VpdmVkKTsKPiAgCWVudW0gaW50ZWxfb3V0cHV0X3R5cGUgKCpjb21wdXRlX291dHB1 dF90eXBlKShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqLAo+ICAJCQkJCQkgICAgICBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqLAo+ICAJCQkJCQkgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0 ZSAqKTsKPiBAQCAtMjAxNiw4ICsyMDIzLDEwIEBAIGludCBpbnRlbF9kc2lfZGNzX2luaXRfYmFj a2xpZ2h0X2Z1bmNzKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3Rvcik7Cj4g IHZvaWQgaW50ZWxfZHZvX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsK PiAgLyogaW50ZWxfaG90cGx1Zy5jICovCj4gIHZvaWQgaW50ZWxfaHBkX3BvbGxfaW5pdChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+IC1ib29sIGludGVsX2VuY29kZXJfaG90 cGx1ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAtCQkJICAgc3RydWN0IGludGVs X2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiArZW51bSBpbnRlbF9ob3RwbHVnX3N0YXRlCj4gK2lu dGVsX2VuY29kZXJfaG90cGx1ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiArCQkg ICAgICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCj4gKwkJICAgICAgYm9vbCBp cnFfcmVjZWl2ZWQpOwo+ICAKPiAgLyogbGVnYWN5IGZiZGV2IGVtdWxhdGlvbiBpbiBpbnRlbF9m YmRldi5jICovCj4gICNpZmRlZiBDT05GSUdfRFJNX0ZCREVWX0VNVUxBVElPTgo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ob3RwbHVnLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9ob3RwbHVnLmMKPiBpbmRleCBiODkzN2M3ODhmMDMuLjNlYWEwNjUyNmY2 YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ob3RwbHVnLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ob3RwbHVnLmMKPiBAQCAtMTExLDYgKzEx MSw3IEBAIGVudW0gaHBkX3BpbiBpbnRlbF9ocGRfcGluX2RlZmF1bHQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAo+ICAKPiAgI2RlZmluZSBIUERfU1RPUk1fREVURUNUX1BFUklP RAkJMTAwMAo+ICAjZGVmaW5lIEhQRF9TVE9STV9SRUVOQUJMRV9ERUxBWQkoMiAqIDYwICogMTAw MCkKPiArI2RlZmluZSBIUERfUkVUUllfREVMQVkJCQkxMDAwCj4gIAo+ICAvKioKPiAgICogaW50 ZWxfaHBkX2lycV9zdG9ybV9kZXRlY3QgLSBnYXRoZXIgc3RhdHMgYW5kIGRldGVjdCBIUEQgSVJR IHN0b3JtIG9uIGEgcGluCj4gQEAgLTI2NSw4ICsyNjYsMTAgQEAgc3RhdGljIHZvaWQgaW50ZWxf aHBkX2lycV9zdG9ybV9yZWVuYWJsZV93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKPiAg CWludGVsX3J1bnRpbWVfcG1fcHV0KGRldl9wcml2LCB3YWtlcmVmKTsKPiAgfQo+ICAKPiAtYm9v bCBpbnRlbF9lbmNvZGVyX2hvdHBsdWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4g LQkJCSAgIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiArZW51bSBpbnRlbF9o b3RwbHVnX3N0YXRlCj4gK2ludGVsX2VuY29kZXJfaG90cGx1ZyhzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlciwKPiArCQkgICAgICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3Is Cj4gKwkJICAgICAgYm9vbCBpcnFfcmVjZWl2ZWQpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2Owo+ICAJZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1 cyBvbGRfc3RhdHVzOwo+IEBAIC0yNzgsNyArMjgxLDcgQEAgYm9vbCBpbnRlbF9lbmNvZGVyX2hv dHBsdWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJZHJtX2hlbHBlcl9wcm9i ZV9kZXRlY3QoJmNvbm5lY3Rvci0+YmFzZSwgTlVMTCwgZmFsc2UpOwo+ICAKPiAgCWlmIChvbGRf c3RhdHVzID09IGNvbm5lY3Rvci0+YmFzZS5zdGF0dXMpCj4gLQkJcmV0dXJuIGZhbHNlOwo+ICsJ CXJldHVybiBJTlRFTF9IT1RQTFVHX05PQ0hBTkdFOwo+ICAKPiAgCURSTV9ERUJVR19LTVMoIltD T05ORUNUT1I6JWQ6JXNdIHN0YXR1cyB1cGRhdGVkIGZyb20gJXMgdG8gJXNcbiIsCj4gIAkJICAg ICAgY29ubmVjdG9yLT5iYXNlLmJhc2UuaWQsCj4gQEAgLTI4Niw3ICsyODksNyBAQCBib29sIGlu dGVsX2VuY29kZXJfaG90cGx1ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkg ICAgICBkcm1fZ2V0X2Nvbm5lY3Rvcl9zdGF0dXNfbmFtZShvbGRfc3RhdHVzKSwKPiAgCQkgICAg ICBkcm1fZ2V0X2Nvbm5lY3Rvcl9zdGF0dXNfbmFtZShjb25uZWN0b3ItPmJhc2Uuc3RhdHVzKSk7 Cj4gIAo+IC0JcmV0dXJuIHRydWU7Cj4gKwlyZXR1cm4gSU5URUxfSE9UUExVR19DSEFOR0VEOwo+ ICB9Cj4gIAo+ICBzdGF0aWMgYm9vbCBpbnRlbF9lbmNvZGVyX2hhc19ocGRfcHVsc2Uoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gQEAgLTMzOCw3ICszNDEsNyBAQCBzdGF0aWMgdm9p ZCBpOTE1X2RpZ3BvcnRfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKPiAgCQlz cGluX2xvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+ICAJCWRldl9wcml2LT5ob3RwbHVn LmV2ZW50X2JpdHMgfD0gb2xkX2JpdHM7Cj4gIAkJc3Bpbl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+ aXJxX2xvY2spOwo+IC0JCXNjaGVkdWxlX3dvcmsoJmRldl9wcml2LT5ob3RwbHVnLmhvdHBsdWdf d29yayk7Cj4gKwkJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZkZXZfcHJpdi0+aG90cGx1Zy5ob3Rw bHVnX3dvcmssIDApOwo+ICAJfQo+ICB9Cj4gIAo+IEBAIC0zNDgsMTQgKzM1MSwxNyBAQCBzdGF0 aWMgdm9pZCBpOTE1X2RpZ3BvcnRfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykK PiAgc3RhdGljIHZvaWQgaTkxNV9ob3RwbHVnX3dvcmtfZnVuYyhzdHJ1Y3Qgd29ya19zdHJ1Y3Qg KndvcmspCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9Cj4gLQkJ Y29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlLCBob3RwbHVnLmhvdHBs dWdfd29yayk7Cj4gKwkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBkcm1faTkxNV9wcml2YXRl LAo+ICsJCQkgICAgIGhvdHBsdWcuaG90cGx1Z193b3JrLndvcmspOwo+ICAJc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9ICZkZXZfcHJpdi0+ZHJtOwo+ICAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAq aW50ZWxfY29ubmVjdG9yOwo+ICAJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXI7 Cj4gIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOwo+ICAJc3RydWN0IGRybV9jb25u ZWN0b3JfbGlzdF9pdGVyIGNvbm5faXRlcjsKPiAgCWJvb2wgY2hhbmdlZCA9IGZhbHNlOwo+ICsJ dTMyIHJldHJ5ID0gMDsKPiAgCXUzMiBocGRfZXZlbnRfYml0czsKPiArCXUzMiBocGRfcmV0cnlf Yml0czsKPiAgCj4gIAltdXRleF9sb2NrKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKPiAgCURS TV9ERUJVR19LTVMoInJ1bm5pbmcgZW5jb2RlciBob3RwbHVnIGZ1bmN0aW9uc1xuIik7Cj4gQEAg LTM2NCw2ICszNzAsOCBAQCBzdGF0aWMgdm9pZCBpOTE1X2hvdHBsdWdfd29ya19mdW5jKHN0cnVj dCB3b3JrX3N0cnVjdCAqd29yaykKPiAgCj4gIAlocGRfZXZlbnRfYml0cyA9IGRldl9wcml2LT5o b3RwbHVnLmV2ZW50X2JpdHM7Cj4gIAlkZXZfcHJpdi0+aG90cGx1Zy5ldmVudF9iaXRzID0gMDsK PiArCWhwZF9yZXRyeV9iaXRzID0gZGV2X3ByaXYtPmhvdHBsdWcucmV0cnlfYml0czsKPiArCWRl dl9wcml2LT5ob3RwbHVnLnJldHJ5X2JpdHMgPSAwOwo+ICAKPiAgCS8qIEVuYWJsZSBwb2xsaW5n IGZvciBjb25uZWN0b3JzIHdoaWNoIGhhZCBIUEQgSVJRIHN0b3JtcyAqLwo+ICAJaW50ZWxfaHBk X2lycV9zdG9ybV9zd2l0Y2hfdG9fcG9sbGluZyhkZXZfcHJpdik7Cj4gQEAgLTM3MiwxNiArMzgw LDI5IEBAIHN0YXRpYyB2b2lkIGk5MTVfaG90cGx1Z193b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3Ry dWN0ICp3b3JrKQo+ICAKPiAgCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2JlZ2luKGRldiwgJmNv bm5faXRlcik7Cj4gIAlkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29ubmVjdG9yLCAmY29u bl9pdGVyKSB7Cj4gKwkJdTMyIGhwZF9iaXQ7Cj4gKwo+ICAJCWludGVsX2Nvbm5lY3RvciA9IHRv X2ludGVsX2Nvbm5lY3Rvcihjb25uZWN0b3IpOwo+ICAJCWlmICghaW50ZWxfY29ubmVjdG9yLT5l bmNvZGVyKQo+ICAJCQljb250aW51ZTsKPiAgCQlpbnRlbF9lbmNvZGVyID0gaW50ZWxfY29ubmVj dG9yLT5lbmNvZGVyOwo+IC0JCWlmIChocGRfZXZlbnRfYml0cyAmICgxIDw8IGludGVsX2VuY29k ZXItPmhwZF9waW4pKSB7Cj4gKwkJaHBkX2JpdCA9IEJJVChpbnRlbF9lbmNvZGVyLT5ocGRfcGlu KTsKPiArCQlpZiAoKGhwZF9ldmVudF9iaXRzIHwgaHBkX3JldHJ5X2JpdHMpICYgaHBkX2JpdCkg ewo+ICAJCQlEUk1fREVCVUdfS01TKCJDb25uZWN0b3IgJXMgKHBpbiAlaSkgcmVjZWl2ZWQgaG90 cGx1ZyBldmVudC5cbiIsCj4gIAkJCQkgICAgICBjb25uZWN0b3ItPm5hbWUsIGludGVsX2VuY29k ZXItPmhwZF9waW4pOwo+ICAKPiAtCQkJY2hhbmdlZCB8PSBpbnRlbF9lbmNvZGVyLT5ob3RwbHVn KGludGVsX2VuY29kZXIsCj4gLQkJCQkJCQkgIGludGVsX2Nvbm5lY3Rvcik7Cj4gKwkJCXN3aXRj aCAoaW50ZWxfZW5jb2Rlci0+aG90cGx1ZyhpbnRlbF9lbmNvZGVyLAo+ICsJCQkJCQkgICAgICAg aW50ZWxfY29ubmVjdG9yLAo+ICsJCQkJCQkgICAgICAgaHBkX2V2ZW50X2JpdHMgJiBocGRfYml0 KSkgewo+ICsJCQljYXNlIElOVEVMX0hPVFBMVUdfTk9DSEFOR0U6Cj4gKwkJCQlicmVhazsKPiAr CQkJY2FzZSBJTlRFTF9IT1RQTFVHX0NIQU5HRUQ6Cj4gKwkJCQljaGFuZ2VkID0gdHJ1ZTsKPiAr CQkJCWJyZWFrOwo+ICsJCQljYXNlIElOVEVMX0hPVFBMVUdfUkVUUlk6Cj4gKwkJCQlyZXRyeSB8 PSBocGRfYml0Owo+ICsJCQkJYnJlYWs7Cj4gKwkJCX0KPiAgCQl9Cj4gIAl9Cj4gIAlkcm1fY29u bmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5faXRlcik7Cj4gQEAgLTM4OSw2ICs0MTAsMTUgQEAg c3RhdGljIHZvaWQgaTkxNV9ob3RwbHVnX3dvcmtfZnVuYyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndv cmspCj4gIAo+ICAJaWYgKGNoYW5nZWQpCj4gIAkJZHJtX2ttc19oZWxwZXJfaG90cGx1Z19ldmVu dChkZXYpOwoKSnVzdCByZWFsaXplZCwgdGhhdCB0aGlzIHdheSB3ZSdsbCBkbyBob3RwbHVnIHBy b2Nlc3NpbmcgZm9yIHBpbnMgd2l0aCBhCnNoYXJlZCBlbmNvZGVyIChEREkgRFAvSERNSSkgdHdp Y2UsIGV2ZW4gaWYgb25lIGVuY29kZXIncyBob3RwbHVnIGhvb2sKc2lnbmFsZWQgYSBjaGFuZ2Ug KGFuZCBzbyB0aGVyZSBjYW4ndCBiZSBhbnkgY2hhbmdlIG9uIG90aGVyIGNvbm5lY3RvcnMKc2hh cmluZyB0aGlzIGVuY29kZXIpLiBJIHN1cHBvc2UgcHJldmVudGluZyBjYWxsaW5nIHRoZSBob29r IGZvciBhIHBpbiB0aGF0CmFscmVhZHkgc2lnbmFsbGVkIGEgY2hhbmdlIHdvdWxkIG1ha2Ugc2Vu c2UsIGJ1dCB0aGF0J3MgYSBzZXBhcmF0ZQppc3N1ZSBhbmQgY291bGQgc3RpbGwgbGVhZCB0byBy ZXRyeWluZyBuZWVkbGVzc2x5LiBTbyBJIHRoaW5rIHdlIHNob3VsZApwcmV2ZW50IHRoZSByZXRy eSBoZXJlIGV4cGxpY2l0bHk6CgoJcmV0cnkgJj0gfmNoYW5nZWQ7CgoobWFraW5nIGNoYW5nZWQg YSBiaXRtYXApLgoKPiArCj4gKwlpZiAocmV0cnkpIHsKPiArCQlzcGluX2xvY2tfaXJxKCZkZXZf cHJpdi0+aXJxX2xvY2spOwo+ICsJCWRldl9wcml2LT5ob3RwbHVnLnJldHJ5X2JpdHMgfD0gcmV0 cnk7Cj4gKwkJc3Bpbl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+ICsKPiArCQlt b2RfZGVsYXllZF93b3JrKHN5c3RlbV93cSwgJmRldl9wcml2LT5ob3RwbHVnLmhvdHBsdWdfd29y aywKPiArCQkJCSBtc2Vjc190b19qaWZmaWVzKEhQRF9SRVRSWV9ERUxBWSkpOwo+ICsJfQo+ICB9 Cj4gIAo+ICAKPiBAQCAtNTE1LDcgKzU0NSw3IEBAIHZvaWQgaW50ZWxfaHBkX2lycV9oYW5kbGVy KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCWlmIChxdWV1ZV9kaWcpCj4g IAkJcXVldWVfd29yayhkZXZfcHJpdi0+aG90cGx1Zy5kcF93cSwgJmRldl9wcml2LT5ob3RwbHVn LmRpZ19wb3J0X3dvcmspOwo+ICAJaWYgKHF1ZXVlX2hwKQo+IC0JCXNjaGVkdWxlX3dvcmsoJmRl dl9wcml2LT5ob3RwbHVnLmhvdHBsdWdfd29yayk7Cj4gKwkJc2NoZWR1bGVfZGVsYXllZF93b3Jr KCZkZXZfcHJpdi0+aG90cGx1Zy5ob3RwbHVnX3dvcmssIDApOwo+ICB9Cj4gIAo+ICAvKioKPiBA QCAtNjM1LDcgKzY2NSw4IEBAIHZvaWQgaW50ZWxfaHBkX3BvbGxfaW5pdChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAo+ICB2b2lkIGludGVsX2hwZF9pbml0X3dvcmsoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gLQlJTklUX1dPUksoJmRldl9w cml2LT5ob3RwbHVnLmhvdHBsdWdfd29yaywgaTkxNV9ob3RwbHVnX3dvcmtfZnVuYyk7Cj4gKwlJ TklUX0RFTEFZRURfV09SSygmZGV2X3ByaXYtPmhvdHBsdWcuaG90cGx1Z193b3JrLAo+ICsJCQkg IGk5MTVfaG90cGx1Z193b3JrX2Z1bmMpOwo+ICAJSU5JVF9XT1JLKCZkZXZfcHJpdi0+aG90cGx1 Zy5kaWdfcG9ydF93b3JrLCBpOTE1X2RpZ3BvcnRfd29ya19mdW5jKTsKPiAgCUlOSVRfV09SSygm ZGV2X3ByaXYtPmhvdHBsdWcucG9sbF9pbml0X3dvcmssIGk5MTVfaHBkX3BvbGxfaW5pdF93b3Jr KTsKPiAgCUlOSVRfREVMQVlFRF9XT1JLKCZkZXZfcHJpdi0+aG90cGx1Zy5yZWVuYWJsZV93b3Jr LAo+IEBAIC02NDksMTEgKzY4MCwxMiBAQCB2b2lkIGludGVsX2hwZF9jYW5jZWxfd29yayhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAlkZXZfcHJpdi0+aG90cGx1Zy5sb25n X3BvcnRfbWFzayA9IDA7Cj4gIAlkZXZfcHJpdi0+aG90cGx1Zy5zaG9ydF9wb3J0X21hc2sgPSAw Owo+ICAJZGV2X3ByaXYtPmhvdHBsdWcuZXZlbnRfYml0cyA9IDA7Cj4gKwlkZXZfcHJpdi0+aG90 cGx1Zy5yZXRyeV9iaXRzID0gMDsKPiAgCj4gIAlzcGluX3VubG9ja19pcnEoJmRldl9wcml2LT5p cnFfbG9jayk7Cj4gIAo+ICAJY2FuY2VsX3dvcmtfc3luYygmZGV2X3ByaXYtPmhvdHBsdWcuZGln X3BvcnRfd29yayk7Cj4gLQljYW5jZWxfd29ya19zeW5jKCZkZXZfcHJpdi0+aG90cGx1Zy5ob3Rw bHVnX3dvcmspOwo+ICsJY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZkZXZfcHJpdi0+aG90cGx1 Zy5ob3RwbHVnX3dvcmspOwo+ICAJY2FuY2VsX3dvcmtfc3luYygmZGV2X3ByaXYtPmhvdHBsdWcu cG9sbF9pbml0X3dvcmspOwo+ICAJY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZkZXZfcHJpdi0+ aG90cGx1Zy5yZWVuYWJsZV93b3JrKTsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9zZHZvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMK PiBpbmRleCA2OGY0OTc0OTNkNDMuLjA1YWU3YjM3MDRhNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9zZHZvLmMKPiBAQCAtMTgzOCwxMiArMTgzOCwxNCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9z ZHZvX2VuYWJsZV9ob3RwbHVnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAJCQkg ICAgICZpbnRlbF9zZHZvLT5ob3RwbHVnX2FjdGl2ZSwgMik7Cj4gIH0KPiAgCj4gLXN0YXRpYyBi b29sIGludGVsX3Nkdm9faG90cGx1ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAt CQkJICAgICAgIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiArc3RhdGljIGVu dW0gaW50ZWxfaG90cGx1Z19zdGF0ZQo+ICtpbnRlbF9zZHZvX2hvdHBsdWcoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCj4gKwkJICAgc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVj dG9yLAo+ICsJCSAgIGJvb2wgaXJxX3JlY2VpdmVkKQo+ICB7Cj4gIAlpbnRlbF9zZHZvX2VuYWJs ZV9ob3RwbHVnKGVuY29kZXIpOwo+ICAKPiAtCXJldHVybiBpbnRlbF9lbmNvZGVyX2hvdHBsdWco ZW5jb2RlciwgY29ubmVjdG9yKTsKPiArCXJldHVybiBpbnRlbF9lbmNvZGVyX2hvdHBsdWcoZW5j b2RlciwgY29ubmVjdG9yLCBpcnFfcmVjZWl2ZWQpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgYm9vbAo+ IC0tIAo+IDIuMjEuMAo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZng=