From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 06/16] drm/i915: Don't call modeset related functions when display is disabled Date: Mon, 22 Oct 2018 11:25:45 +0300 Message-ID: <87va5ufkvq.fsf@intel.com> References: <20181012215218.5119-1-jose.souza@intel.com> <20181012215218.5119-6-jose.souza@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 513C989622 for ; Mon, 22 Oct 2018 08:26:08 +0000 (UTC) In-Reply-To: <20181012215218.5119-6-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 T24gRnJpLCAxMiBPY3QgMjAxOCwgSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSA8am9zZS5zb3V6YUBp bnRlbC5jb20+IHdyb3RlOgo+IERpc3BsYXkgZmVhdHVyZXMgc2hvdWxkIG5vdCBiZSBpbml0aWFs aXplZCBvciBkZWluaXRpYWxpemVkIHdoZW4KPiBkaXNwbGF5IGlzIGRpc2FibGVkLgo+Cj4gV2l0 aCB0aGlzIGNoYW5nZXMgbm8gcGxhbmUsIENSVEMsIGVuY29kZXIgb3IgY29ubmVjdG9yCj4gaXMg YmVpbmcgcmVnaXN0ZXJlZCBpbiBkcm0gd2hlbiBkaXNwbGF5IGlzIGRpc2FibGVkIHNvIGl0IHdh cyBhbHNvCj4gbmVjZXNzYXJ5IHVuc2V0IERSSVZFUl9NT0RFU0VUIGFuZCBEUklWRVJfQVRPTUlD IGZlYXR1cmVzIGZyb20gZHJpdmVyCj4gb3RoZXJ3aXNlIGl0IHdpbGwgY3Jhc2ggd2hlbiByZWdp c3RlcmluZyBkcml2ZXIgaW4gZHJtLgo+Cj4gVGhlcmUgaXMgc3RpbGwgbW9yZSBtb2Rlc2V0L2Rp c3BsYXkgY2FsbHMgdGhhdCB3aWxsIGJlIHJlbW92ZWQgaW4KPiBmdXRoZXIgcGF0Y2hlcy4KPgo+ IFNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwu Y29tPgo+Cj4gc3F1YXNoIGRvIG5vdCBjYWxsIG1vZGVzZXQKPiAtLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgICAgIHwgMTU1ICsrKysrKysrKysrKysrKy0tLS0tLS0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N1c3BlbmQuYyAgICAgfCAgMjQgKystLQo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgfCAgMjEgKystLQo+ICAz IGZpbGVzIGNoYW5nZWQsIDEyNCBpbnNlcnRpb25zKCspLCA3NiBkZWxldGlvbnMoLSkKPgo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuYwo+IGluZGV4IDNmNzUxNGU5ODFkNS4uODMzNGQxNzk3ZGY3IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gQEAgLTg5OSw3ICs4OTksOCBAQCBzdGF0aWMg aW50IGk5MTVfZHJpdmVyX2luaXRfZWFybHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQo+ICAJaW50ZWxfd29wY21faW5pdF9lYXJseSgmZGV2X3ByaXYtPndvcGNtKTsKPiAgCWlu dGVsX3VjX2luaXRfZWFybHkoZGV2X3ByaXYpOwo+ICAJaW50ZWxfcG1fc2V0dXAoZGV2X3ByaXYp Owo+IC0JaW50ZWxfaW5pdF9kcGlvKGRldl9wcml2KTsKPiArCWlmIChJTlRFTF9JTkZPKGRldl9w cml2KS0+bnVtX3BpcGVzKQo+ICsJCWludGVsX2luaXRfZHBpbyhkZXZfcHJpdik7Cj4gIAlyZXQg PSBpbnRlbF9wb3dlcl9kb21haW5zX2luaXQoZGV2X3ByaXYpOwo+ICAJaWYgKHJldCA8IDApCj4g IAkJZ290byBlcnJfdWM7Cj4gQEAgLTkwNyw4ICs5MDgsMTAgQEAgc3RhdGljIGludCBpOTE1X2Ry aXZlcl9pbml0X2Vhcmx5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCWlu dGVsX2hhbmdjaGVja19pbml0KGRldl9wcml2KTsKPiAgCWludGVsX2luaXRfZGlzcGxheV9ob29r cyhkZXZfcHJpdik7Cj4gIAlpbnRlbF9pbml0X2Nsb2NrX2dhdGluZ19ob29rcyhkZXZfcHJpdik7 Cj4gLQlpbnRlbF9pbml0X2F1ZGlvX2hvb2tzKGRldl9wcml2KTsKPiAtCWludGVsX2Rpc3BsYXlf Y3JjX2luaXQoZGV2X3ByaXYpOwo+ICsJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5udW1fcGlw ZXMpIHsKPiArCQlpbnRlbF9pbml0X2F1ZGlvX2hvb2tzKGRldl9wcml2KTsKPiArCQlpbnRlbF9k aXNwbGF5X2NyY19pbml0KGRldl9wcml2KTsKPiArCX0KPiAgCj4gIAlpbnRlbF9kZXRlY3RfcHJl cHJvZHVjdGlvbl9odyhkZXZfcHJpdik7Cj4gIAo+IEBAIC0xNTM5LDIzICsxNTQyLDI2IEBAIHN0 YXRpYyB2b2lkIGk5MTVfZHJpdmVyX3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKPiAgCWlmIChJU19HRU41KGRldl9wcml2KSkKPiAgCQlpbnRlbF9ncHVfaXBzX2lu aXQoZGV2X3ByaXYpOwo+ICAKPiAtCWludGVsX2F1ZGlvX2luaXQoZGV2X3ByaXYpOwo+ICsJaWYg KElOVEVMX0lORk8oZGV2X3ByaXYpLT5udW1fcGlwZXMpIHsKPiArCQlpbnRlbF9hdWRpb19pbml0 KGRldl9wcml2KTsKPiAgCj4gLQkvKgo+IC0JICogU29tZSBwb3J0cyByZXF1aXJlIGNvcnJlY3Rs eSBzZXQtdXAgaHBkIHJlZ2lzdGVycyBmb3IgZGV0ZWN0aW9uIHRvCj4gLQkgKiB3b3JrIHByb3Bl cmx5IChsZWFkaW5nIHRvIGdob3N0IGNvbm5lY3RlZCBjb25uZWN0b3Igc3RhdHVzKSwgZS5nLiBW R0EKPiAtCSAqIG9uIGdtNDUuICBIZW5jZSB3ZSBjYW4gb25seSBzZXQgdXAgdGhlIGluaXRpYWwg ZmJkZXYgY29uZmlnIGFmdGVyIGhwZAo+IC0JICogaXJxcyBhcmUgZnVsbHkgZW5hYmxlZC4gV2Ug ZG8gaXQgbGFzdCBzbyB0aGF0IHRoZSBhc3luYyBjb25maWcKPiAtCSAqIGNhbm5vdCBydW4gYmVm b3JlIHRoZSBjb25uZWN0b3JzIGFyZSByZWdpc3RlcmVkLgo+IC0JICovCj4gLQlpbnRlbF9mYmRl dl9pbml0aWFsX2NvbmZpZ19hc3luYyhkZXYpOwo+ICsJCS8qCj4gKwkJICogU29tZSBwb3J0cyBy ZXF1aXJlIGNvcnJlY3RseSBzZXQtdXAgaHBkIHJlZ2lzdGVycyBmb3IKPiArCQkgKiBkZXRlY3Rp b24gdG8gd29yayBwcm9wZXJseSAobGVhZGluZyB0byBnaG9zdCBjb25uZWN0ZWQKPiArCQkgKiBj b25uZWN0b3Igc3RhdHVzKSwgZS5nLiBWR0Egb24gZ200NS4gIEhlbmNlIHdlIGNhbiBvbmx5IHNl dAo+ICsJCSAqIHVwIHRoZSBpbml0aWFsIGZiZGV2IGNvbmZpZyBhZnRlciBocGQgaXJxcyBhcmUg ZnVsbHkgZW5hYmxlZC4KPiArCQkgKiBXZSBkbyBpdCBsYXN0IHNvIHRoYXQgdGhlIGFzeW5jIGNv bmZpZyBjYW5ub3QgcnVuIGJlZm9yZSB0aGUKPiArCQkgKiBjb25uZWN0b3JzIGFyZSByZWdpc3Rl cmVkLgo+ICsJCSAqLwo+ICsJCWludGVsX2ZiZGV2X2luaXRpYWxfY29uZmlnX2FzeW5jKGRldik7 CgpTbyBmb3IgYWxsIG9mIHRoZSBhYm92ZSB0aGF0IHdlJ3JlIGluIGNvbnRyb2wgb2YsIEknZCBw dXQgdGhlIGRpc3BsYXkKY2hlY2sgYW5kIGVhcmx5IHJldHVybiBhdCB0aGUgYmVnaW5uaW5nIG9m IGVhY2ggZnVuY3Rpb24sIGFuZCBjYWxsIHRoZW0KdW5jb25kaXRpb25hbGx5IGZyb20gaGVyZS4g VGhpcyBwYXJ0aWN1bGFybHkgc28gZm9yIGFsbCB0aGUgaGlnaGVyIGxldmVsCmZ1bmN0aW9ucy4g VGhleSBiZWNvbWUgY2x1dHRlcmVkIGFuZCBoYXJkIHRvIGdyYXNwLiBJdCdzIHNsaWdodGx5CmRp ZmZlcmVudCBhdCB0aGUgbG93ZXIgbGV2ZWxzLgoKSSB0aGluayB3ZSBuZWVkIGEgbWFjcm8KCiNk ZWZpbmUgSEFTX0RJU1BMQVkoZGV2X3ByaXYpIChJTlRFTF9JTkZPKGRldl9wcml2KS0+bnVtX3Bp cGVzICE9IDApCgphbmQgdXNlIHRoYXQgZm9yIGFueXRoaW5nIHRoYXQgY2hlY2tzIGZvciB0aGUg YmluYXJ5IGhhcyBkaXNwbGF5IG9yCm5vdC4gV2UgbWF5IG5lZWQgdG8gcmVkZWZpbmUgdGhhdCBs YXRlciBvbiwgYW5kIEkgZG9uJ3Qgd2FudCB0byB0b3VjaAphbGwgb2YgdGhlc2UgcGxhY2VzIGFn YWluLgoKPiAgCj4gLQkvKgo+IC0JICogV2UgbmVlZCB0byBjb29yZGluYXRlIHRoZSBob3RwbHVn cyB3aXRoIHRoZSBhc3luY2hyb25vdXMgZmJkZXYKPiAtCSAqIGNvbmZpZ3VyYXRpb24sIGZvciB3 aGljaCB3ZSB1c2UgdGhlIGZiZGV2LT5hc3luY19jb29raWUuCj4gLQkgKi8KPiAtCWlmIChJTlRF TF9JTkZPKGRldl9wcml2KS0+bnVtX3BpcGVzKQo+ICsJCS8qCj4gKwkJICogV2UgbmVlZCB0byBj b29yZGluYXRlIHRoZSBob3RwbHVncyB3aXRoIHRoZSBhc3luY2hyb25vdXMKPiArCQkgKiBmYmRl diBjb25maWd1cmF0aW9uLCBmb3Igd2hpY2ggd2UgdXNlIHRoZQo+ICsJCSAqIGZiZGV2LT5hc3lu Y19jb29raWUuCj4gKwkJICovCj4gIAkJZHJtX2ttc19oZWxwZXJfcG9sbF9pbml0KGRldik7Cj4g Kwl9CgpPYnZpb3VzbHkgY2FsbHMgdG8gZHJtIGhlbHBlcnMgbmVlZCB0byBiZSB3cmFwcGVkIGFy b3VuZCBIQVNfRElTUExBWS4KCj4gIAo+ICAJaW50ZWxfcG93ZXJfZG9tYWluc19lbmFibGUoZGV2 X3ByaXYpOwo+ICAJaW50ZWxfcnVudGltZV9wbV9lbmFibGUoZGV2X3ByaXYpOwo+IEBAIC0xNTcw LDE1ICsxNTc2LDE3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZHJpdmVyX3VucmVnaXN0ZXIoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJaW50ZWxfcnVudGltZV9wbV9kaXNhYmxl KGRldl9wcml2KTsKPiAgCWludGVsX3Bvd2VyX2RvbWFpbnNfZGlzYWJsZShkZXZfcHJpdik7Cj4g IAo+IC0JaW50ZWxfZmJkZXZfdW5yZWdpc3RlcihkZXZfcHJpdik7Cj4gLQlpbnRlbF9hdWRpb19k ZWluaXQoZGV2X3ByaXYpOwo+ICsJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5udW1fcGlwZXMp IHsKPiArCQlpbnRlbF9mYmRldl91bnJlZ2lzdGVyKGRldl9wcml2KTsKPiArCQlpbnRlbF9hdWRp b19kZWluaXQoZGV2X3ByaXYpOwoKQWxsIG9mIHRoZXNlIEkgd2FudCB0byBiZSBhYmxlIHRvIGNh bGwgdW5jb25kaXRpb25hbGx5IHRvbywgYW5kIGluc3RlYWQKb2YgY2hlY2tpbmcgZm9yIEhBU19E SVNQTEFZKCksIHRoZXkgbWlnaHQgYmUgYmV0dGVyIG9mZiBjaGVja2luZyB3aGV0aGVyCnRoZSBz dHVmZiBoYXMgYmVlbiBpbml0aWFsaXplZC4gSW5kZWVkLCBJIHRoaW5rIHRoZSBhYm92ZSB0d28g YWxyZWFkeQp3b3JrIGxpa2UgdGhpczsgdGhleSBjYW4gYmUgc2FmZWx5IGNhbGxlZCBldmVuIHdo ZW4gYXVkaW8gb3IgZmJkZXYKaGFzbid0IGJlZW4gaW5pdGlhbGl6ZWQuCgpCUiwKSmFuaS4KCj4g IAo+IC0JLyoKPiAtCSAqIEFmdGVyIGZsdXNoaW5nIHRoZSBmYmRldiAoaW5jbC4gYSBsYXRlIGFz eW5jIGNvbmZpZyB3aGljaCB3aWxsCj4gLQkgKiBoYXZlIGRlbGF5ZWQgcXVldWluZyBvZiBhIGhv dHBsdWcgZXZlbnQpLCB0aGVuIGZsdXNoIHRoZSBob3RwbHVnCj4gLQkgKiBldmVudHMuCj4gLQkg Ki8KPiAtCWRybV9rbXNfaGVscGVyX3BvbGxfZmluaSgmZGV2X3ByaXYtPmRybSk7Cj4gKwkJLyoK PiArCQkgKiBBZnRlciBmbHVzaGluZyB0aGUgZmJkZXYgKGluY2wuIGEgbGF0ZSBhc3luYyBjb25m aWcgd2hpY2gKPiArCQkgKiB3aWxsIGhhdmUgZGVsYXllZCBxdWV1aW5nIG9mIGEgaG90cGx1ZyBl dmVudCksIHRoZW4gZmx1c2ggdGhlCj4gKwkJICogaG90cGx1ZyBldmVudHMuCj4gKwkJICovCj4g KwkJZHJtX2ttc19oZWxwZXJfcG9sbF9maW5pKCZkZXZfcHJpdi0+ZHJtKTsKPiArCX0KPiAgCj4g IAlpbnRlbF9ncHVfaXBzX3RlYXJkb3duKCk7Cj4gIAlhY3BpX3ZpZGVvX3VucmVnaXN0ZXIoKTsK PiBAQCAtMTY0MSw2ICsxNjQ5LDcgQEAgaTkxNV9kcml2ZXJfY3JlYXRlKHN0cnVjdCBwY2lfZGV2 ICpwZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqZW50KQo+ICAJaWYgKGk5MTVfbW9k cGFyYW1zLmRpc2FibGVfZGlzcGxheSkgewo+ICAJCURSTV9JTkZPKCJEaXNwbGF5IGRpc2FibGVk IChtb2R1bGUgcGFyYW1ldGVyKVxuIik7Cj4gIAkJZGV2aWNlX2luZm8tPm51bV9waXBlcyA9IDA7 Cj4gKwkJaTkxNS0+ZHJtLmRyaXZlcl9mZWF0dXJlcyAmPSB+KERSSVZFUl9NT0RFU0VUIHwgRFJJ VkVSX0FUT01JQyk7Cj4gIAl9Cj4gIAo+ICAJQlVJTERfQlVHX09OKElOVEVMX01BWF9QTEFURk9S TVMgPgo+IEBAIC0xNzIxLDkgKzE3MzAsMTEgQEAgaW50IGk5MTVfZHJpdmVyX2xvYWQoc3RydWN0 IHBjaV9kZXYgKnBkZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICplbnQpCj4gIAlpZiAo cmV0KQo+ICAJCWdvdG8gY2xlYW51cF9pcnE7Cj4gIAo+IC0JcmV0ID0gaTkxNV9sb2FkX21vZGVz ZXRfaW5pdCgmZGV2X3ByaXYtPmRybSk7Cj4gLQlpZiAocmV0IDwgMCkKPiAtCQlnb3RvIGNsZWFu dXBfZ2VtOwo+ICsJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5udW1fcGlwZXMpIHsKPiArCQly ZXQgPSBpOTE1X2xvYWRfbW9kZXNldF9pbml0KCZkZXZfcHJpdi0+ZHJtKTsKPiArCQlpZiAocmV0 IDwgMCkKPiArCQkJZ290byBjbGVhbnVwX2dlbTsKPiArCX0KPiAgCj4gIAlpOTE1X2RyaXZlcl9y ZWdpc3RlcihkZXZfcHJpdik7Cj4gIAo+IEBAIC0xNzgwLDExICsxNzkxLDEzIEBAIHZvaWQgaTkx NV9kcml2ZXJfdW5sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAlpZiAoaTkxNV9nZW1f c3VzcGVuZChkZXZfcHJpdikpCj4gIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gaWRsZSBoYXJkd2Fy ZTsgY29udGludWluZyB0byB1bmxvYWQhXG4iKTsKPiAgCj4gLQlkcm1fYXRvbWljX2hlbHBlcl9z aHV0ZG93bihkZXYpOwo+ICsJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5udW1fcGlwZXMpCj4g KwkJZHJtX2F0b21pY19oZWxwZXJfc2h1dGRvd24oZGV2KTsKPiAgCj4gIAlpbnRlbF9ndnRfY2xl YW51cChkZXZfcHJpdik7Cj4gIAo+IC0JaW50ZWxfbW9kZXNldF9jbGVhbnVwX3ByZXBhcmUoZGV2 KTsKPiArCWlmIChJTlRFTF9JTkZPKGRldl9wcml2KS0+bnVtX3BpcGVzKQo+ICsJCWludGVsX21v ZGVzZXRfY2xlYW51cF9wcmVwYXJlKGRldik7Cj4gIAo+ICAJLyoKPiAgCSAqIEludGVycnVwdHMg YW5kIHBvbGxpbmcgYXMgdGhlIGZpcnN0IHRoaW5nIHRvIGF2b2lkIGNyZWF0aW5nIGhhdm9jLgo+ IEBAIC0xNzkzLDkgKzE4MDYsMTEgQEAgdm9pZCBpOTE1X2RyaXZlcl91bmxvYWQoc3RydWN0IGRy bV9kZXZpY2UgKmRldikKPiAgCSAqLwo+ICAJaW50ZWxfaXJxX3VuaW5zdGFsbChkZXZfcHJpdik7 Cj4gIAo+IC0JaW50ZWxfbW9kZXNldF9jbGVhbnVwKGRldik7Cj4gKwlpZiAoSU5URUxfSU5GTyhk ZXZfcHJpdiktPm51bV9waXBlcykgewo+ICsJCWludGVsX21vZGVzZXRfY2xlYW51cChkZXYpOwo+ ICAKPiAtCWk5MTVfbW9kZXNldF91bmxvYWQoZGV2KTsKPiArCQlpOTE1X21vZGVzZXRfdW5sb2Fk KGRldik7Cj4gKwl9Cj4gIAo+ICAJLyogRnJlZSBlcnJvciBzdGF0ZSBhZnRlciBpbnRlcnJ1cHRz IGFyZSBmdWxseSBkaXNhYmxlZC4gKi8KPiAgCWNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygmZGV2 X3ByaXYtPmdwdV9lcnJvci5oYW5nY2hlY2tfd29yayk7Cj4gQEAgLTE4NDcsOCArMTg2MiwxMiBA QCBzdGF0aWMgaW50IGk5MTVfZHJpdmVyX29wZW4oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3Ry dWN0IGRybV9maWxlICpmaWxlKQo+ICAgKi8KPiAgc3RhdGljIHZvaWQgaTkxNV9kcml2ZXJfbGFz dGNsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIHsKPiAtCWludGVsX2ZiZGV2X3Jlc3Rv cmVfbW9kZShkZXYpOwo+IC0JdmdhX3N3aXRjaGVyb29fcHJvY2Vzc19kZWxheWVkX3N3aXRjaCgp Owo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ ICsKPiArCWlmIChJTlRFTF9JTkZPKGRldl9wcml2KS0+bnVtX3BpcGVzKSB7Cj4gKwkJaW50ZWxf ZmJkZXZfcmVzdG9yZV9tb2RlKGRldik7Cj4gKwkJdmdhX3N3aXRjaGVyb29fcHJvY2Vzc19kZWxh eWVkX3N3aXRjaCgpOwo+ICsJfQo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBpOTE1X2RyaXZlcl9w b3N0Y2xvc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlKQo+ IEBAIC0xOTE4LDE5ICsxOTM3LDI0IEBAIHN0YXRpYyBpbnQgaTkxNV9kcm1fc3VzcGVuZChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJLyogV2UgZG8gYSBsb3Qgb2YgcG9raW5nIGluIGEgbG90 IG9mIHJlZ2lzdGVycywgbWFrZSBzdXJlIHRoZXkgd29yawo+ICAJICogcHJvcGVybHkuICovCj4g IAlpbnRlbF9wb3dlcl9kb21haW5zX2Rpc2FibGUoZGV2X3ByaXYpOwo+IC0KPiAtCWRybV9rbXNf aGVscGVyX3BvbGxfZGlzYWJsZShkZXYpOwo+ICsJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5u dW1fcGlwZXMpCj4gKwkJZHJtX2ttc19oZWxwZXJfcG9sbF9kaXNhYmxlKGRldik7Cj4gIAo+ICAJ cGNpX3NhdmVfc3RhdGUocGRldik7Cj4gIAo+IC0JaW50ZWxfZGlzcGxheV9zdXNwZW5kKGRldik7 Cj4gKwlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPm51bV9waXBlcykgewo+ICsJCWludGVsX2Rp c3BsYXlfc3VzcGVuZChkZXYpOwo+ICAKPiAtCWludGVsX2RwX21zdF9zdXNwZW5kKGRldl9wcml2 KTsKPiArCQlpbnRlbF9kcF9tc3Rfc3VzcGVuZChkZXZfcHJpdik7Cj4gKwl9Cj4gIAo+ICAJaW50 ZWxfcnVudGltZV9wbV9kaXNhYmxlX2ludGVycnVwdHMoZGV2X3ByaXYpOwo+IC0JaW50ZWxfaHBk X2NhbmNlbF93b3JrKGRldl9wcml2KTsKPiAgCj4gLQlpbnRlbF9zdXNwZW5kX2VuY29kZXJzKGRl dl9wcml2KTsKPiArCWlmIChJTlRFTF9JTkZPKGRldl9wcml2KS0+bnVtX3BpcGVzKSB7Cj4gKwkJ aW50ZWxfaHBkX2NhbmNlbF93b3JrKGRldl9wcml2KTsKPiArCj4gKwkJaW50ZWxfc3VzcGVuZF9l bmNvZGVycyhkZXZfcHJpdik7Cj4gKwl9Cj4gIAo+ICAJaW50ZWxfc3VzcGVuZF9odyhkZXZfcHJp dik7Cj4gIAo+IEBAIC0xOTQzLDExICsxOTY3LDEzIEBAIHN0YXRpYyBpbnQgaTkxNV9kcm1fc3Vz cGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAKPiAgCWludGVsX29wcmVnaW9uX3VucmVn aXN0ZXIoZGV2X3ByaXYpOwo+ICAKPiAtCWludGVsX2ZiZGV2X3NldF9zdXNwZW5kKGRldiwgRkJJ TkZPX1NUQVRFX1NVU1BFTkRFRCwgdHJ1ZSk7Cj4gKwlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdikt Pm51bV9waXBlcykKPiArCQlpbnRlbF9mYmRldl9zZXRfc3VzcGVuZChkZXYsIEZCSU5GT19TVEFU RV9TVVNQRU5ERUQsIHRydWUpOwo+ICAKPiAgCWRldl9wcml2LT5zdXNwZW5kX2NvdW50Kys7Cj4g IAo+IC0JaW50ZWxfY3NyX3Vjb2RlX3N1c3BlbmQoZGV2X3ByaXYpOwo+ICsJaWYgKElOVEVMX0lO Rk8oZGV2X3ByaXYpLT5udW1fcGlwZXMpCj4gKwkJaW50ZWxfY3NyX3Vjb2RlX3N1c3BlbmQoZGV2 X3ByaXYpOwo+ICAKPiAgCWVuYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKGRldl9wcml2KTsKPiAg Cj4gQEAgLTIwNTYsMTAgKzIwODIsMTIgQEAgc3RhdGljIGludCBpOTE1X2RybV9yZXN1bWUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiAgCWlmIChyZXQpCj4gIAkJRFJNX0VSUk9SKCJmYWlsZWQg dG8gcmUtZW5hYmxlIEdHVFRcbiIpOwo+ICAKPiAtCWludGVsX2Nzcl91Y29kZV9yZXN1bWUoZGV2 X3ByaXYpOwo+ICsJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5udW1fcGlwZXMpCj4gKwkJaW50 ZWxfY3NyX3Vjb2RlX3Jlc3VtZShkZXZfcHJpdik7Cj4gIAo+ICAJaTkxNV9yZXN0b3JlX3N0YXRl KGRldl9wcml2KTsKPiAtCWludGVsX3Bwc191bmxvY2tfcmVnc193YShkZXZfcHJpdik7Cj4gKwlp ZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPm51bV9waXBlcykKPiArCQlpbnRlbF9wcHNfdW5sb2Nr X3JlZ3Nfd2EoZGV2X3ByaXYpOwo+ICAJaW50ZWxfb3ByZWdpb25fc2V0dXAoZGV2X3ByaXYpOwo+ ICAKPiAgCWludGVsX2luaXRfcGNoX3JlZmNsayhkZXZfcHJpdik7Cj4gQEAgLTIwNzYsNyArMjEw NCw4IEBAIHN0YXRpYyBpbnQgaTkxNV9kcm1fcmVzdW1lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Cj4gIAkgKi8KPiAgCWludGVsX3J1bnRpbWVfcG1fZW5hYmxlX2ludGVycnVwdHMoZGV2X3ByaXYp Owo+ICAKPiAtCWRybV9tb2RlX2NvbmZpZ19yZXNldChkZXYpOwo+ICsJaWYgKElOVEVMX0lORk8o ZGV2X3ByaXYpLT5udW1fcGlwZXMpCj4gKwkJZHJtX21vZGVfY29uZmlnX3Jlc2V0KGRldik7Cj4g IAo+ICAJaTkxNV9nZW1fcmVzdW1lKGRldl9wcml2KTsKPiAgCj4gQEAgLTIwODQsMjcgKzIxMTMs MzAgQEAgc3RhdGljIGludCBpOTE1X2RybV9yZXN1bWUoc3RydWN0IGRybV9kZXZpY2UgKmRldikK PiAgCWludGVsX2luaXRfY2xvY2tfZ2F0aW5nKGRldl9wcml2KTsKPiAgCj4gIAlzcGluX2xvY2tf aXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+IC0JaWYgKGRldl9wcml2LT5kaXNwbGF5LmhwZF9p cnFfc2V0dXApCj4gKwlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuaHBkX2lycV9zZXR1cCAmJiBJTlRF TF9JTkZPKGRldl9wcml2KS0+bnVtX3BpcGVzKQo+ICAJCWRldl9wcml2LT5kaXNwbGF5LmhwZF9p cnFfc2V0dXAoZGV2X3ByaXYpOwo+ICAJc3Bpbl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xv Y2spOwo+ICAKPiAtCWludGVsX2RwX21zdF9yZXN1bWUoZGV2X3ByaXYpOwo+ICsJaWYgKElOVEVM X0lORk8oZGV2X3ByaXYpLT5udW1fcGlwZXMpIHsKPiArCQlpbnRlbF9kcF9tc3RfcmVzdW1lKGRl dl9wcml2KTsKPiAgCj4gLQlpbnRlbF9kaXNwbGF5X3Jlc3VtZShkZXYpOwo+ICsJCWludGVsX2Rp c3BsYXlfcmVzdW1lKGRldik7Cj4gIAo+IC0JZHJtX2ttc19oZWxwZXJfcG9sbF9lbmFibGUoZGV2 KTsKPiArCQlkcm1fa21zX2hlbHBlcl9wb2xsX2VuYWJsZShkZXYpOwo+ICAKPiAtCS8qCj4gLQkg KiAuLi4gYnV0IGFsc28gbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBob3RwbHVnIHByb2Nlc3NpbmcK PiAtCSAqIGRvZXNuJ3QgY2F1c2UgaGF2b2MuIExpa2UgaW4gdGhlIGRyaXZlciBsb2FkIGNvZGUg d2UgZG9uJ3QKPiAtCSAqIGJvdGhlciB3aXRoIHRoZSB0aW55IHJhY2UgaGVyZSB3aGVyZSB3ZSBt aWdodCBsb3NlIGhvdHBsdWcKPiAtCSAqIG5vdGlmaWNhdGlvbnMuCj4gLQkgKiAqLwo+IC0JaW50 ZWxfaHBkX2luaXQoZGV2X3ByaXYpOwo+ICsJCS8qCj4gKwkJICogLi4uIGJ1dCBhbHNvIG5lZWQg dG8gbWFrZSBzdXJlIHRoYXQgaG90cGx1ZyBwcm9jZXNzaW5nCj4gKwkJICogZG9lc24ndCBjYXVz ZSBoYXZvYy4gTGlrZSBpbiB0aGUgZHJpdmVyIGxvYWQgY29kZSB3ZSBkb24ndAo+ICsJCSAqIGJv dGhlciB3aXRoIHRoZSB0aW55IHJhY2UgaGVyZSB3aGVyZSB3ZSBtaWdodCBsb3NlIGhvdHBsdWcK PiArCQkgKiBub3RpZmljYXRpb25zLgo+ICsJCSAqLwo+ICsJCWludGVsX2hwZF9pbml0KGRldl9w cml2KTsKPiArCX0KPiAgCj4gIAlpbnRlbF9vcHJlZ2lvbl9yZWdpc3RlcihkZXZfcHJpdik7Cj4g IAo+IC0JaW50ZWxfZmJkZXZfc2V0X3N1c3BlbmQoZGV2LCBGQklORk9fU1RBVEVfUlVOTklORywg ZmFsc2UpOwo+ICsJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5udW1fcGlwZXMpCj4gKwkJaW50 ZWxfZmJkZXZfc2V0X3N1c3BlbmQoZGV2LCBGQklORk9fU1RBVEVfUlVOTklORywgZmFsc2UpOwo+ ICAKPiAgCWludGVsX29wcmVnaW9uX25vdGlmeV9hZGFwdGVyKGRldl9wcml2LCBQQ0lfRDApOwo+ ICAKPiBAQCAtMzAwMCw3ICszMDMyLDggQEAgc3RhdGljIGludCBpbnRlbF9ydW50aW1lX3N1c3Bl bmQoc3RydWN0IGRldmljZSAqa2RldikKPiAgCj4gIAlhc3NlcnRfZm9yY2V3YWtlc19pbmFjdGl2 ZShkZXZfcHJpdik7Cj4gIAo+IC0JaWYgKCFJU19WQUxMRVlWSUVXKGRldl9wcml2KSAmJiAhSVNf Q0hFUlJZVklFVyhkZXZfcHJpdikpCj4gKwlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPm51bV9w aXBlcyAmJiAoIUlTX1ZBTExFWVZJRVcoZGV2X3ByaXYpICYmCj4gKwkJCQkJCSFJU19DSEVSUllW SUVXKGRldl9wcml2KSkpCj4gIAkJaW50ZWxfaHBkX3BvbGxfaW5pdChkZXZfcHJpdik7Cj4gIAo+ ICAJRFJNX0RFQlVHX0tNUygiRGV2aWNlIHN1c3BlbmRlZFxuIik7Cj4gQEAgLTMwNTcsMTAgKzMw OTAsMTIgQEAgc3RhdGljIGludCBpbnRlbF9ydW50aW1lX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpr ZGV2KQo+ICAJICogcG93ZXIgd2VsbCwgc28gaHBkIGlzIHJlaW5pdGlhbGl6ZWQgZnJvbSB0aGVy ZS4gRm9yCj4gIAkgKiBldmVyeW9uZSBlbHNlIGRvIGl0IGhlcmUuCj4gIAkgKi8KPiAtCWlmICgh SVNfVkFMTEVZVklFVyhkZXZfcHJpdikgJiYgIUlTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQo+ICsJ aWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5udW1fcGlwZXMgJiYgKCFJU19WQUxMRVlWSUVXKGRl dl9wcml2KSAmJgo+ICsJCQkJCQkhSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpKQo+ICAJCWludGVs X2hwZF9pbml0KGRldl9wcml2KTsKPiAgCj4gLQlpbnRlbF9lbmFibGVfaXBjKGRldl9wcml2KTsK PiArCWlmIChJTlRFTF9JTkZPKGRldl9wcml2KS0+bnVtX3BpcGVzKQo+ICsJCWludGVsX2VuYWJs ZV9pcGMoZGV2X3ByaXYpOwo+ICAKPiAgCWVuYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKGRldl9w cml2KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3VzcGVu ZC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zdXNwZW5kLmMKPiBpbmRleCA4ZjNhYTRk YzBjOTguLmY2OTc4NjUyMzZhNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3N1c3BlbmQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3VzcGVuZC5j Cj4gQEAgLTYzLDExICs2MywxMyBAQCBpbnQgaTkxNV9zYXZlX3N0YXRlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKPiAgCj4gIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0 cnVjdF9tdXRleCk7Cj4gIAo+IC0JaTkxNV9zYXZlX2Rpc3BsYXkoZGV2X3ByaXYpOwo+ICsJaWYg KElOVEVMX0lORk8oZGV2X3ByaXYpLT5udW1fcGlwZXMpIHsKPiArCQlpOTE1X3NhdmVfZGlzcGxh eShkZXZfcHJpdik7Cj4gIAo+IC0JaWYgKElTX0dFTjQoZGV2X3ByaXYpKQo+IC0JCXBjaV9yZWFk X2NvbmZpZ193b3JkKHBkZXYsIEdDREdNQlVTLAo+IC0JCQkJICAgICAmZGV2X3ByaXYtPnJlZ2Zp bGUuc2F2ZUdDREdNQlVTKTsKPiArCQlpZiAoSVNfR0VONChkZXZfcHJpdikpCj4gKwkJCXBjaV9y ZWFkX2NvbmZpZ193b3JkKHBkZXYsIEdDREdNQlVTLAo+ICsJCQkJCSAgICAgJmRldl9wcml2LT5y ZWdmaWxlLnNhdmVHQ0RHTUJVUyk7Cj4gKwl9Cj4gIAo+ICAJLyogQ2FjaGUgbW9kZSBzdGF0ZSAq Lwo+ICAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPCA3KQo+IEBAIC0xMDgsMTAgKzExMCwxMyBA QCBpbnQgaTkxNV9yZXN0b3JlX3N0YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKPiAgCj4gIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7Cj4gIAo+ IC0JaWYgKElTX0dFTjQoZGV2X3ByaXYpKQo+IC0JCXBjaV93cml0ZV9jb25maWdfd29yZChwZGV2 LCBHQ0RHTUJVUywKPiAtCQkJCSAgICAgIGRldl9wcml2LT5yZWdmaWxlLnNhdmVHQ0RHTUJVUyk7 Cj4gLQlpOTE1X3Jlc3RvcmVfZGlzcGxheShkZXZfcHJpdik7Cj4gKwlpZiAoSU5URUxfSU5GTyhk ZXZfcHJpdiktPm51bV9waXBlcykgewo+ICsJCWlmIChJU19HRU40KGRldl9wcml2KSkKPiArCQkJ cGNpX3dyaXRlX2NvbmZpZ193b3JkKHBkZXYsIEdDREdNQlVTLAo+ICsJCQkJCSAgICAgIGRldl9w cml2LT5yZWdmaWxlLnNhdmVHQ0RHTUJVUyk7Cj4gKwo+ICsJCWk5MTVfcmVzdG9yZV9kaXNwbGF5 KGRldl9wcml2KTsKPiArCX0KPiAgCj4gIAkvKiBDYWNoZSBtb2RlIHN0YXRlICovCj4gIAlpZiAo SU5URUxfR0VOKGRldl9wcml2KSA8IDcpCj4gQEAgLTE0Myw3ICsxNDgsOCBAQCBpbnQgaTkxNV9y ZXN0b3JlX3N0YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCj4gIAlt dXRleF91bmxvY2soJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKPiAgCj4gLQlpbnRlbF9p MmNfcmVzZXQoZGV2X3ByaXYpOwo+ICsJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5udW1fcGlw ZXMpCj4gKwkJaW50ZWxfaTJjX3Jlc2V0KGRldl9wcml2KTsKPiAgCj4gIAlyZXR1cm4gMDsKPiAg fQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiBpbmRleCAzY2Y4NTMz ZTA4MzQuLjE1ZmQ4OGJiMzVmNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9ydW50aW1lX3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50 aW1lX3BtLmMKPiBAQCAtNjI1LDcgKzYyNSw4IEBAIHZvaWQgYnh0X2VuYWJsZV9kYzkoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAKPiAgCURSTV9ERUJVR19LTVMoIkVuYWJs aW5nIERDOVxuIik7Cj4gIAo+IC0JaW50ZWxfcG93ZXJfc2VxdWVuY2VyX3Jlc2V0KGRldl9wcml2 KTsKPiArCWlmIChJTlRFTF9JTkZPKGRldl9wcml2KS0+bnVtX3BpcGVzKQo+ICsJCWludGVsX3Bv d2VyX3NlcXVlbmNlcl9yZXNldChkZXZfcHJpdik7Cj4gIAlnZW45X3NldF9kY19zdGF0ZShkZXZf cHJpdiwgRENfU1RBVEVfRU5fREM5KTsKPiAgfQo+ICAKPiBAQCAtMTAzOSwxMCArMTA0MCwxMiBA QCBzdGF0aWMgdm9pZCB2bHZfZGlzcGxheV9wb3dlcl93ZWxsX2RlaW5pdChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkvKiBtYWtlIHN1cmUgd2UncmUgZG9uZSBwcm9jZXNz aW5nIGRpc3BsYXkgaXJxcyAqLwo+ICAJc3luY2hyb25pemVfaXJxKGRldl9wcml2LT5kcm0uaXJx KTsKPiAgCj4gLQlpbnRlbF9wb3dlcl9zZXF1ZW5jZXJfcmVzZXQoZGV2X3ByaXYpOwo+ICsJaWYg KElOVEVMX0lORk8oZGV2X3ByaXYpLT5udW1fcGlwZXMpCj4gKwkJaW50ZWxfcG93ZXJfc2VxdWVu Y2VyX3Jlc2V0KGRldl9wcml2KTsKPiAgCj4gIAkvKiBQcmV2ZW50IHVzIGZyb20gcmUtZW5hYmxp bmcgcG9sbGluZyBvbiBhY2NpZGVudCBpbiBsYXRlIHN1c3BlbmQgKi8KPiAtCWlmICghZGV2X3By aXYtPmRybS5kZXYtPnBvd2VyLmlzX3N1c3BlbmRlZCkKPiArCWlmIChJTlRFTF9JTkZPKGRldl9w cml2KS0+bnVtX3BpcGVzICYmCj4gKwkgICAgIWRldl9wcml2LT5kcm0uZGV2LT5wb3dlci5pc19z dXNwZW5kZWQpCj4gIAkJaW50ZWxfaHBkX3BvbGxfaW5pdChkZXZfcHJpdik7Cj4gIH0KPiAgCj4g QEAgLTEyODQsMTEgKzEyODcsMTQgQEAgc3RhdGljIHZvaWQgY2h2X2RwaW9fY21uX3Bvd2VyX3dl bGxfZGlzYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAo+ICAJaWYg KHBvd2VyX3dlbGwtPmRlc2MtPmlkID09IFZMVl9ESVNQX1BXX0RQSU9fQ01OX0JDKSB7Cj4gIAkJ cGh5ID0gRFBJT19QSFkwOwo+IC0JCWFzc2VydF9wbGxfZGlzYWJsZWQoZGV2X3ByaXYsIFBJUEVf QSk7Cj4gLQkJYXNzZXJ0X3BsbF9kaXNhYmxlZChkZXZfcHJpdiwgUElQRV9CKTsKPiArCQlpZiAo SU5URUxfSU5GTyhkZXZfcHJpdiktPm51bV9waXBlcykgewo+ICsJCQlhc3NlcnRfcGxsX2Rpc2Fi bGVkKGRldl9wcml2LCBQSVBFX0EpOwo+ICsJCQlhc3NlcnRfcGxsX2Rpc2FibGVkKGRldl9wcml2 LCBQSVBFX0IpOwo+ICsJCX0KPiAgCX0gZWxzZSB7Cj4gIAkJcGh5ID0gRFBJT19QSFkxOwo+IC0J CWFzc2VydF9wbGxfZGlzYWJsZWQoZGV2X3ByaXYsIFBJUEVfQyk7Cj4gKwkJaWYgKElOVEVMX0lO Rk8oZGV2X3ByaXYpLT5udW1fcGlwZXMpCj4gKwkJCWFzc2VydF9wbGxfZGlzYWJsZWQoZGV2X3By aXYsIFBJUEVfQyk7Cj4gIAl9Cj4gIAo+ICAJZGV2X3ByaXYtPmNodl9waHlfY29udHJvbCAmPSB+ UEhZX0NPTV9MQU5FX1JFU0VUX0RFQVNTRVJUKHBoeSk7Cj4gQEAgLTEzMDIsNyArMTMwOCw4IEBA IHN0YXRpYyB2b2lkIGNodl9kcGlvX2Ntbl9wb3dlcl93ZWxsX2Rpc2FibGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJLyogUEhZIGlzIGZ1bGx5IHJlc2V0IG5vdywgc28g d2UgY2FuIGVuYWJsZSB0aGUgUEhZIHN0YXRlIGFzc2VydHMgKi8KPiAgCWRldl9wcml2LT5jaHZf cGh5X2Fzc2VydFtwaHldID0gdHJ1ZTsKPiAgCj4gLQlhc3NlcnRfY2h2X3BoeV9zdGF0dXMoZGV2 X3ByaXYpOwo+ICsJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5udW1fcGlwZXMpCj4gKwkJYXNz ZXJ0X2Nodl9waHlfc3RhdHVzKGRldl9wcml2KTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgYXNz ZXJ0X2Nodl9waHlfcG93ZXJnYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwg ZW51bSBkcGlvX3BoeSBwaHksCgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIEdy YXBoaWNzIENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK