From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/i915/backlight: prefer dev_priv over dev pointer Date: Fri, 18 Dec 2015 11:43:47 +0200 Message-ID: <87wpscccrw.fsf@intel.com> References: <1450428695-28831-1-git-send-email-jani.nikula@intel.com> <87egekdt7m.fsf@gaia.fi.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 1A4266E049 for ; Fri, 18 Dec 2015 01:43:53 -0800 (PST) In-Reply-To: <87egekdt7m.fsf@gaia.fi.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Mika Kuoppala , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAxOCBEZWMgMjAxNSwgTWlrYSBLdW9wcGFsYSA8bWlrYS5rdW9wcGFsYUBsaW51eC5p bnRlbC5jb20+IHdyb3RlOgo+IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+IHdy aXRlczoKPgo+PiBVc2UgZGV2X3ByaXYgcmF0aGVyIHRoYW4gZGV2IHBvaW50ZXIgd2hlcmUgYXBw bGljYWJsZS4gUmVtb3ZlIHBsZW50eSBvZgo+PiB1bm5lY2Vzc2FyeSB0ZW1wIHZhcmlhYmxlcy4g Tm8gZnVuY3Rpb25hbCBjaGFuZ2VzLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBKYW5pIE5pa3VsYSA8 amFuaS5uaWt1bGFAaW50ZWwuY29tPgo+Cj4gUmV2aWV3ZWQtYnk6IE1pa2EgS3VvcHBhbGEgPG1p a2Eua3VvcHBhbGFAaW50ZWwuY29tPgoKUHVzaGVkIHRvIGRybS1pbnRlbC1uZXh0LXF1ZXVlZCwg dGhhbmtzIGZvciB0aGUgcmV2aWV3LgoKQlIsCkphbmkuCgo+Cj4+IC0tLQo+PiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyB8IDE1NiArKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCj4+ICAxIGZpbGUgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgOTggZGVs ZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w YW5lbC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwo+PiBpbmRleCBmNWI0 Yzk4ZGU2MDguLjIxZWU2NDc3YmY5OCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcGFuZWwuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5l bC5jCj4+IEBAIC00NjEsOCArNDYxLDcgQEAgc3RhdGljIGlubGluZSB1MzIgc2NhbGVfaHdfdG9f dXNlcihzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCj4+ICBzdGF0aWMgdTMyIGlu dGVsX3BhbmVsX2NvbXB1dGVfYnJpZ2h0bmVzcyhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IsCj4+ICAJCQkJCSAgdTMyIHZhbCkKPj4gIHsKPj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gY29ubmVjdG9yLT5iYXNlLmRldjsKPj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7Cj4+ICAJc3RydWN0IGlu dGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwo+PiAgCj4+ICAJV0FSTl9PTihw YW5lbC0+YmFja2xpZ2h0Lm1heCA9PSAwKTsKPj4gQEAgLTQ4MCw0NSArNDc5LDQwIEBAIHN0YXRp YyB1MzIgaW50ZWxfcGFuZWxfY29tcHV0ZV9icmlnaHRuZXNzKHN0cnVjdCBpbnRlbF9jb25uZWN0 b3IgKmNvbm5lY3RvciwKPj4gIAo+PiAgc3RhdGljIHUzMiBscHRfZ2V0X2JhY2tsaWdodChzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4+ICB7Cj4+IC0Jc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7Cj4+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwo+PiAgCj4+ICAJ cmV0dXJuIEk5MTVfUkVBRChCTENfUFdNX1BDSF9DVEwyKSAmIEJBQ0tMSUdIVF9EVVRZX0NZQ0xF X01BU0s7Cj4+ICB9Cj4+ICAKPj4gIHN0YXRpYyB1MzIgcGNoX2dldF9iYWNrbGlnaHQoc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+PiAgewo+PiAtCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2Owo+PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKPj4gIAo+PiAgCXJl dHVybiBJOTE1X1JFQUQoQkxDX1BXTV9DUFVfQ1RMKSAmIEJBQ0tMSUdIVF9EVVRZX0NZQ0xFX01B U0s7Cj4+ICB9Cj4+ICAKPj4gIHN0YXRpYyB1MzIgaTl4eF9nZXRfYmFja2xpZ2h0KHN0cnVjdCBp bnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPj4gIHsKPj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gY29ubmVjdG9yLT5iYXNlLmRldjsKPj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7Cj4+ICAJc3RydWN0IGlu dGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwo+PiAgCXUzMiB2YWw7Cj4+ICAK Pj4gIAl2YWwgPSBJOTE1X1JFQUQoQkxDX1BXTV9DVEwpICYgQkFDS0xJR0hUX0RVVFlfQ1lDTEVf TUFTSzsKPj4gLQlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPCA0KQo+PiArCWlmIChJTlRFTF9J TkZPKGRldl9wcml2KS0+Z2VuIDwgNCkKPj4gIAkJdmFsID4+PSAxOwo+PiAgCj4+ICAJaWYgKHBh bmVsLT5iYWNrbGlnaHQuY29tYmluYXRpb25fbW9kZSkgewo+PiAgCQl1OCBsYnBjOwo+PiAgCj4+ IC0JCXBjaV9yZWFkX2NvbmZpZ19ieXRlKGRldi0+cGRldiwgUENJX0xCUEMsICZsYnBjKTsKPj4g KwkJcGNpX3JlYWRfY29uZmlnX2J5dGUoZGV2X3ByaXYtPmRldi0+cGRldiwgUENJX0xCUEMsICZs YnBjKTsKPj4gIAkJdmFsICo9IGxicGM7Cj4+ICAJfQo+PiAgCj4+ICAJcmV0dXJuIHZhbDsKPj4g IH0KPj4gIAo+PiAtc3RhdGljIHUzMiBfdmx2X2dldF9iYWNrbGlnaHQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgZW51bSBwaXBlIHBpcGUpCj4+ICtzdGF0aWMgdTMyIF92bHZfZ2V0X2JhY2tsaWdo dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcGlwZSBwaXBlKQo+PiAg ewo+PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZh dGU7Cj4+IC0KPj4gIAlpZiAoV0FSTl9PTihwaXBlICE9IFBJUEVfQSAmJiBwaXBlICE9IFBJUEVf QikpCj4+ICAJCXJldHVybiAwOwo+PiAgCj4+IEBAIC01MjcsMTcgKzUyMSwxNiBAQCBzdGF0aWMg dTMyIF92bHZfZ2V0X2JhY2tsaWdodChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHBpcGUg cGlwZSkKPj4gIAo+PiAgc3RhdGljIHUzMiB2bHZfZ2V0X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yICpjb25uZWN0b3IpCj4+ICB7Cj4+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IGNvbm5lY3Rvci0+YmFzZS5kZXY7Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKPj4gIAllbnVtIHBpcGUgcGlwZSA9 IGludGVsX2dldF9waXBlX2Zyb21fY29ubmVjdG9yKGNvbm5lY3Rvcik7Cj4+ICAKPj4gLQlyZXR1 cm4gX3Zsdl9nZXRfYmFja2xpZ2h0KGRldiwgcGlwZSk7Cj4+ICsJcmV0dXJuIF92bHZfZ2V0X2Jh Y2tsaWdodChkZXZfcHJpdiwgcGlwZSk7Cj4+ICB9Cj4+ICAKPj4gIHN0YXRpYyB1MzIgYnh0X2dl dF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+PiAgewo+PiAt CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2Owo+PiArCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRl dik7Cj4+ICAJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwo+ PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 Cj4+ICAKPj4gIAlyZXR1cm4gSTkxNV9SRUFEKEJYVF9CTENfUFdNX0RVVFkocGFuZWwtPmJhY2ts aWdodC5jb250cm9sbGVyKSk7Cj4+ICB9Cj4+IEBAIC01NTMsOCArNTQ2LDcgQEAgc3RhdGljIHUz MiBwd21fZ2V0X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4+ ICAKPj4gIHN0YXRpYyB1MzIgaW50ZWxfcGFuZWxfZ2V0X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yICpjb25uZWN0b3IpCj4+ICB7Cj4+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IGNvbm5lY3Rvci0+YmFzZS5kZXY7Cj4+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwo+PiAgCXN0cnVjdCBpbnRlbF9w YW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKPj4gIAl1MzIgdmFsID0gMDsKPj4gIAo+ PiBAQCAtNTczLDE2ICs1NjUsMTQgQEAgc3RhdGljIHUzMiBpbnRlbF9wYW5lbF9nZXRfYmFja2xp Z2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPj4gIAo+PiAgc3RhdGljIHZv aWQgbHB0X3NldF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1 MzIgbGV2ZWwpCj4+ICB7Cj4+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ YmFzZS5kZXY7Cj4+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKPj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwo+PiAgCXUzMiB2YWwgPSBJOTE1X1JFQUQoQkxDX1BX TV9QQ0hfQ1RMMikgJiB+QkFDS0xJR0hUX0RVVFlfQ1lDTEVfTUFTSzsKPj4gIAlJOTE1X1dSSVRF KEJMQ19QV01fUENIX0NUTDIsIHZhbCB8IGxldmVsKTsKPj4gIH0KPj4gIAo+PiAgc3RhdGljIHZv aWQgcGNoX3NldF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1 MzIgbGV2ZWwpCj4+ICB7Cj4+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ YmFzZS5kZXY7Cj4+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKPj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwo+PiAgCXUzMiB0bXA7Cj4+ICAKPj4gIAl0bXAgPSBJ OTE1X1JFQUQoQkxDX1BXTV9DUFVfQ1RMKSAmIH5CQUNLTElHSFRfRFVUWV9DWUNMRV9NQVNLOwo+ PiBAQCAtNTkxLDggKzU4MSw3IEBAIHN0YXRpYyB2b2lkIHBjaF9zZXRfYmFja2xpZ2h0KHN0cnVj dCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgdTMyIGxldmVsKQo+PiAgCj4+ICBzdGF0aWMg dm9pZCBpOXh4X3NldF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y LCB1MzIgbGV2ZWwpCj4+ICB7Cj4+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rv ci0+YmFzZS5kZXY7Cj4+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKPj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwo+PiAgCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFu ZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKPj4gIAl1MzIgdG1wLCBtYXNrOwo+PiAgCj4+IEBAIC02 MDMsMTAgKzU5MiwxMCBAQCBzdGF0aWMgdm9pZCBpOXh4X3NldF9iYWNrbGlnaHQoc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1MzIgbGV2ZWwpCj4+ICAKPj4gIAkJbGJwYyA9IGxl dmVsICogMHhmZSAvIHBhbmVsLT5iYWNrbGlnaHQubWF4ICsgMTsKPj4gIAkJbGV2ZWwgLz0gbGJw YzsKPj4gLQkJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldi0+cGRldiwgUENJX0xCUEMsIGxicGMp Owo+PiArCQlwY2lfd3JpdGVfY29uZmlnX2J5dGUoZGV2X3ByaXYtPmRldi0+cGRldiwgUENJX0xC UEMsIGxicGMpOwo+PiAgCX0KPj4gIAo+PiAtCWlmIChJU19HRU40KGRldikpIHsKPj4gKwlpZiAo SVNfR0VONChkZXZfcHJpdikpIHsKPj4gIAkJbWFzayA9IEJBQ0tMSUdIVF9EVVRZX0NZQ0xFX01B U0s7Cj4+ICAJfSBlbHNlIHsKPj4gIAkJbGV2ZWwgPDw9IDE7Cj4+IEBAIC02MTksOCArNjA4LDcg QEAgc3RhdGljIHZvaWQgaTl4eF9zZXRfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3Ig KmNvbm5lY3RvciwgdTMyIGxldmVsKQo+PiAgCj4+ICBzdGF0aWMgdm9pZCB2bHZfc2V0X2JhY2ts aWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsIHUzMiBsZXZlbCkKPj4gIHsK Pj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5iYXNlLmRldjsKPj4gLQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+PiAr CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5i YXNlLmRldik7Cj4+ICAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9nZXRfcGlwZV9mcm9tX2Nvbm5l Y3Rvcihjb25uZWN0b3IpOwo+PiAgCXUzMiB0bXA7Cj4+ICAKPj4gQEAgLTYzMyw4ICs2MjEsNyBA QCBzdGF0aWMgdm9pZCB2bHZfc2V0X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IsIHUzMiBsZXZlbCkKPj4gIAo+PiAgc3RhdGljIHZvaWQgYnh0X3NldF9iYWNrbGln aHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1MzIgbGV2ZWwpCj4+ICB7Cj4+ IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7Cj4+IC0Jc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFz ZS5kZXYpOwo+PiAgCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5l bDsKPj4gIAo+PiAgCUk5MTVfV1JJVEUoQlhUX0JMQ19QV01fRFVUWShwYW5lbC0+YmFja2xpZ2h0 LmNvbnRyb2xsZXIpLCBsZXZlbCk7Cj4+IEBAIC02NjMsOCArNjUwLDcgQEAgaW50ZWxfcGFuZWxf YWN0dWFsbHlfc2V0X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3Is IHUzMiBsZXZlbCkKPj4gIHN0YXRpYyB2b2lkIGludGVsX3BhbmVsX3NldF9iYWNrbGlnaHQoc3Ry dWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+PiAgCQkJCSAgICAgIHUzMiB1c2VyX2xl dmVsLCB1MzIgdXNlcl9tYXgpCj4+ICB7Cj4+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNv bm5lY3Rvci0+YmFzZS5kZXY7Cj4+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwo+PiAgCXN0cnVjdCBpbnRlbF9wYW5l bCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKPj4gIAl1MzIgaHdfbGV2ZWw7Cj4+ICAKPj4g QEAgLTY5MCw4ICs2NzYsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wYW5lbF9zZXRfYmFja2xpZ2h0 KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKPj4gIHZvaWQgaW50ZWxfcGFuZWxf c2V0X2JhY2tsaWdodF9hY3BpKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKPj4g IAkJCQkgICAgdTMyIHVzZXJfbGV2ZWwsIHUzMiB1c2VyX21heCkKPj4gIHsKPj4gLQlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5iYXNlLmRldjsKPj4gLQlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+PiArCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7Cj4+ ICAJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwo+PiAgCWVu dW0gcGlwZSBwaXBlID0gaW50ZWxfZ2V0X3BpcGVfZnJvbV9jb25uZWN0b3IoY29ubmVjdG9yKTsK Pj4gIAl1MzIgaHdfbGV2ZWw7Cj4+IEBAIC03MjYsOCArNzExLDcgQEAgdm9pZCBpbnRlbF9wYW5l bF9zZXRfYmFja2xpZ2h0X2FjcGkoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ PiAgCj4+ICBzdGF0aWMgdm9pZCBscHRfZGlzYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nv bm5lY3RvciAqY29ubmVjdG9yKQo+PiAgewo+PiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBj b25uZWN0b3ItPmJhc2UuZGV2Owo+PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKPj4gIAl1MzIgdG1wOwo+PiAgCj4+ ICAJaW50ZWxfcGFuZWxfYWN0dWFsbHlfc2V0X2JhY2tsaWdodChjb25uZWN0b3IsIDApOwo+PiBA QCAtNzUyLDggKzczNiw3IEBAIHN0YXRpYyB2b2lkIGxwdF9kaXNhYmxlX2JhY2tsaWdodChzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4+ICAKPj4gIHN0YXRpYyB2b2lkIHBjaF9k aXNhYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4+ICB7 Cj4+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7Cj4+IC0J c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4g KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+ YmFzZS5kZXYpOwo+PiAgCXUzMiB0bXA7Cj4+ICAKPj4gIAlpbnRlbF9wYW5lbF9hY3R1YWxseV9z ZXRfYmFja2xpZ2h0KGNvbm5lY3RvciwgMCk7Cj4+IEBAIC03NzIsOCArNzU1LDcgQEAgc3RhdGlj IHZvaWQgaTl4eF9kaXNhYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IpCj4+ICAKPj4gIHN0YXRpYyB2b2lkIGk5NjVfZGlzYWJsZV9iYWNrbGlnaHQoc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+PiAgewo+PiAtCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2Owo+PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKPj4gIAl1MzIgdG1w Owo+PiAgCj4+ICAJaW50ZWxfcGFuZWxfYWN0dWFsbHlfc2V0X2JhY2tsaWdodChjb25uZWN0b3Is IDApOwo+PiBAQCAtNzg0LDggKzc2Niw3IEBAIHN0YXRpYyB2b2lkIGk5NjVfZGlzYWJsZV9iYWNr bGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+PiAgCj4+ICBzdGF0aWMg dm9pZCB2bHZfZGlzYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVj dG9yKQo+PiAgewo+PiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2Uu ZGV2Owo+PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3By aXZhdGU7Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShj b25uZWN0b3ItPmJhc2UuZGV2KTsKPj4gIAllbnVtIHBpcGUgcGlwZSA9IGludGVsX2dldF9waXBl X2Zyb21fY29ubmVjdG9yKGNvbm5lY3Rvcik7Cj4+ICAJdTMyIHRtcDsKPj4gIAo+PiBAQCAtODAw LDggKzc4MSw3IEBAIHN0YXRpYyB2b2lkIHZsdl9kaXNhYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4+ICAKPj4gIHN0YXRpYyB2b2lkIGJ4dF9kaXNhYmxl X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4+ICB7Cj4+IC0J c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7Cj4+IC0Jc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5k ZXYpOwo+PiAgCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsK Pj4gIAl1MzIgdG1wLCB2YWw7Cj4+ICAKPj4gQEAgLTgzMCw4ICs4MTAsNyBAQCBzdGF0aWMgdm9p ZCBwd21fZGlzYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y KQo+PiAgCj4+ICB2b2lkIGludGVsX3BhbmVsX2Rpc2FibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRl bF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPj4gIHsKPj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gY29ubmVjdG9yLT5iYXNlLmRldjsKPj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7Cj4+ICAJc3RydWN0IGludGVs X3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwo+PiAgCj4+ICAJaWYgKCFwYW5lbC0+ YmFja2xpZ2h0LnByZXNlbnQpCj4+IEBAIC04NDMsNyArODIyLDcgQEAgdm9pZCBpbnRlbF9wYW5l bF9kaXNhYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4+ ICAJICogYmFja2xpZ2h0LiBUaGlzIHdpbGwgbGVhdmUgdGhlIGJhY2tsaWdodCBvbiB1bm5lY2Vz c2FyaWx5IHdoZW4KPj4gIAkgKiBhbm90aGVyIGNsaWVudCBpcyBub3QgYWN0aXZhdGVkLgo+PiAg CSAqLwo+PiAtCWlmIChkZXYtPnN3aXRjaF9wb3dlcl9zdGF0ZSA9PSBEUk1fU1dJVENIX1BPV0VS X0NIQU5HSU5HKSB7Cj4+ICsJaWYgKGRldl9wcml2LT5kZXYtPnN3aXRjaF9wb3dlcl9zdGF0ZSA9 PSBEUk1fU1dJVENIX1BPV0VSX0NIQU5HSU5HKSB7Cj4+ICAJCURSTV9ERUJVR19EUklWRVIoIlNr aXBwaW5nIGJhY2tsaWdodCBkaXNhYmxlIG9uIHZnYSBzd2l0Y2hcbiIpOwo+PiAgCQlyZXR1cm47 Cj4+ICAJfQo+PiBAQCAtODYwLDggKzgzOSw3IEBAIHZvaWQgaW50ZWxfcGFuZWxfZGlzYWJsZV9i YWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+PiAgCj4+ICBzdGF0 aWMgdm9pZCBscHRfZW5hYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IpCj4+ICB7Cj4+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFz ZS5kZXY7Cj4+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKPj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwo+PiAgCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAm Y29ubmVjdG9yLT5wYW5lbDsKPj4gIAl1MzIgcGNoX2N0bDEsIHBjaF9jdGwyOwo+PiAgCj4+IEBA IC04OTMsOCArODcxLDcgQEAgc3RhdGljIHZvaWQgbHB0X2VuYWJsZV9iYWNrbGlnaHQoc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+PiAgCj4+ICBzdGF0aWMgdm9pZCBwY2hfZW5h YmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4+ICB7Cj4+ IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7Cj4+IC0Jc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFz ZS5kZXYpOwo+PiAgCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5l bDsKPj4gIAllbnVtIHBpcGUgcGlwZSA9IGludGVsX2dldF9waXBlX2Zyb21fY29ubmVjdG9yKGNv bm5lY3Rvcik7Cj4+ICAJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0KPj4gQEAgLTk0 MCw4ICs5MTcsNyBAQCBzdGF0aWMgdm9pZCBwY2hfZW5hYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4+ICAKPj4gIHN0YXRpYyB2b2lkIGk5eHhfZW5hYmxl X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4+ICB7Cj4+IC0J c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7Cj4+IC0Jc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5k ZXYpOwo+PiAgCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsK Pj4gIAl1MzIgY3RsLCBmcmVxOwo+PiAgCj4+IEBAIC05NTgsNyArOTM0LDcgQEAgc3RhdGljIHZv aWQgaTl4eF9lbmFibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rv cikKPj4gIAljdGwgPSBmcmVxIDw8IDE3Owo+PiAgCWlmIChwYW5lbC0+YmFja2xpZ2h0LmNvbWJp bmF0aW9uX21vZGUpCj4+ICAJCWN0bCB8PSBCTE1fTEVHQUNZX01PREU7Cj4+IC0JaWYgKElTX1BJ TkVWSUVXKGRldikgJiYgcGFuZWwtPmJhY2tsaWdodC5hY3RpdmVfbG93X3B3bSkKPj4gKwlpZiAo SVNfUElORVZJRVcoZGV2X3ByaXYpICYmIHBhbmVsLT5iYWNrbGlnaHQuYWN0aXZlX2xvd19wd20p Cj4+ICAJCWN0bCB8PSBCTE1fUE9MQVJJVFlfUE5WOwo+PiAgCj4+ICAJSTkxNV9XUklURShCTENf UFdNX0NUTCwgY3RsKTsKPj4gQEAgLTk3MiwxNCArOTQ4LDEzIEBAIHN0YXRpYyB2b2lkIGk5eHhf ZW5hYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4+ICAJ ICogODU1Z20gb25seSwgYnV0IGNoZWNraW5nIGZvciBnZW4yIGlzIHNhZmUsIGFzIDg1NWdtIGlz IHRoZSBvbmx5IGdlbjIKPj4gIAkgKiB0aGF0IGhhcyBiYWNrbGlnaHQuCj4+ICAJICovCj4+IC0J aWYgKElTX0dFTjIoZGV2KSkKPj4gKwlpZiAoSVNfR0VOMihkZXZfcHJpdikpCj4+ICAJCUk5MTVf V1JJVEUoQkxDX0hJU1RfQ1RMLCBCTE1fSElTVE9HUkFNX0VOQUJMRSk7Cj4+ICB9Cj4+ICAKPj4g IHN0YXRpYyB2b2lkIGk5NjVfZW5hYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9y ICpjb25uZWN0b3IpCj4+ICB7Cj4+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rv ci0+YmFzZS5kZXY7Cj4+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKPj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwo+PiAgCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFu ZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKPj4gIAllbnVtIHBpcGUgcGlwZSA9IGludGVsX2dldF9w aXBlX2Zyb21fY29ubmVjdG9yKGNvbm5lY3Rvcik7Cj4+ICAJdTMyIGN0bCwgY3RsMiwgZnJlcTsK Pj4gQEAgLTEwMTIsOCArOTg3LDcgQEAgc3RhdGljIHZvaWQgaTk2NV9lbmFibGVfYmFja2xpZ2h0 KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPj4gIAo+PiAgc3RhdGljIHZvaWQg dmx2X2VuYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ PiAgewo+PiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2Owo+ PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0 b3ItPmJhc2UuZGV2KTsKPj4gIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rv ci0+cGFuZWw7Cj4+ICAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9nZXRfcGlwZV9mcm9tX2Nvbm5l Y3Rvcihjb25uZWN0b3IpOwo+PiAgCXUzMiBjdGwsIGN0bDI7Cj4+IEBAIC0xMDQ0LDggKzEwMTgs NyBAQCBzdGF0aWMgdm9pZCB2bHZfZW5hYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVj dG9yICpjb25uZWN0b3IpCj4+ICAKPj4gIHN0YXRpYyB2b2lkIGJ4dF9lbmFibGVfYmFja2xpZ2h0 KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPj4gIHsKPj4gLQlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5iYXNlLmRldjsKPj4gLQlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+PiArCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7Cj4+ICAJ c3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwo+PiAgCWVudW0g cGlwZSBwaXBlID0gaW50ZWxfZ2V0X3BpcGVfZnJvbV9jb25uZWN0b3IoY29ubmVjdG9yKTsKPj4g IAl1MzIgcHdtX2N0bCwgdmFsOwo+PiBAQCAtMTEwMiw4ICsxMDc1LDcgQEAgc3RhdGljIHZvaWQg cHdtX2VuYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ PiAgCj4+ICB2b2lkIGludGVsX3BhbmVsX2VuYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nv bm5lY3RvciAqY29ubmVjdG9yKQo+PiAgewo+PiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBj b25uZWN0b3ItPmJhc2UuZGV2Owo+PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKPj4gIAlzdHJ1Y3QgaW50ZWxfcGFu ZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7Cj4+ICAJZW51bSBwaXBlIHBpcGUgPSBpbnRl bF9nZXRfcGlwZV9mcm9tX2Nvbm5lY3Rvcihjb25uZWN0b3IpOwo+PiAgCj4+IEBAIC0xMjc4LDgg KzEyNTAsNyBAQCBzdGF0aWMgdTMyIGJ4dF9oel90b19wd20oc3RydWN0IGludGVsX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLCB1MzIgcHdtX2ZyZXFfaHopCj4+ICAgKi8KPj4gIHN0YXRpYyB1MzIgc3B0 X2h6X3RvX3B3bShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsIHUzMiBwd21fZnJl cV9oeikKPj4gIHsKPj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5iYXNl LmRldjsKPj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOwo+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo Y29ubmVjdG9yLT5iYXNlLmRldik7Cj4+ICAJdTMyIG11bCwgY2xvY2s7Cj4+ICAKPj4gIAlpZiAo STkxNV9SRUFEKFNPVVRIX0NISUNLRU4xKSAmIFNQVF9QV01fR1JBTlVMQVJJVFkpCj4+IEBAIC0x Mjk5LDggKzEyNzAsNyBAQCBzdGF0aWMgdTMyIHNwdF9oel90b19wd20oc3RydWN0IGludGVsX2Nv bm5lY3RvciAqY29ubmVjdG9yLCB1MzIgcHdtX2ZyZXFfaHopCj4+ICAgKi8KPj4gIHN0YXRpYyB1 MzIgbHB0X2h6X3RvX3B3bShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsIHUzMiBw d21fZnJlcV9oeikKPj4gIHsKPj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9y LT5iYXNlLmRldjsKPj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYt PmRldl9wcml2YXRlOwo+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7Cj4+ICAJdTMyIG11bCwgY2xvY2s7Cj4+ICAKPj4g IAlpZiAoSTkxNV9SRUFEKFNPVVRIX0NISUNLRU4yKSAmIExQVF9QV01fR1JBTlVMQVJJVFkpCj4+ IEBAIC0xMzkzLDggKzEzNjMsNyBAQCBzdGF0aWMgdTMyIHZsdl9oel90b19wd20oc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1MzIgcHdtX2ZyZXFfaHopCj4+ICAKPj4gIHN0YXRp YyB1MzIgZ2V0X2JhY2tsaWdodF9tYXhfdmJ0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5l Y3RvcikKPj4gIHsKPj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5iYXNl LmRldjsKPj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOwo+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo Y29ubmVjdG9yLT5iYXNlLmRldik7Cj4+ICAJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZj b25uZWN0b3ItPnBhbmVsOwo+PiAgCXUxNiBwd21fZnJlcV9oeiA9IGRldl9wcml2LT52YnQuYmFj a2xpZ2h0LnB3bV9mcmVxX2h6Owo+PiAgCXUzMiBwd207Cj4+IEBAIC0xNDI3LDggKzEzOTYsNyBA QCBzdGF0aWMgdTMyIGdldF9iYWNrbGlnaHRfbWF4X3ZidChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9y ICpjb25uZWN0b3IpCj4+ICAgKi8KPj4gIHN0YXRpYyB1MzIgZ2V0X2JhY2tsaWdodF9taW5fdmJ0 KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPj4gIHsKPj4gLQlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5iYXNlLmRldjsKPj4gLQlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+PiArCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7Cj4+ICAJ c3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwo+PiAgCWludCBt aW47Cj4+ICAKPj4gQEAgLTE0NTMsOCArMTQyMSw3IEBAIHN0YXRpYyB1MzIgZ2V0X2JhY2tsaWdo dF9taW5fdmJ0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPj4gIAo+PiAgc3Rh dGljIGludCBscHRfc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5l Y3RvciwgZW51bSBwaXBlIHVudXNlZCkKPj4gIHsKPj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gY29ubmVjdG9yLT5iYXNlLmRldjsKPj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7Cj4+ICAJc3RydWN0IGludGVs X3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwo+PiAgCXUzMiBwY2hfY3RsMSwgcGNo X2N0bDIsIHZhbDsKPj4gIAo+PiBAQCAtMTQ4Myw4ICsxNDUwLDcgQEAgc3RhdGljIGludCBscHRf c2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgZW51bSBw aXBlIHVudXMKPj4gIAo+PiAgc3RhdGljIGludCBwY2hfc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBp bnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgZW51bSBwaXBlIHVudXNlZCkKPj4gIHsKPj4gLQlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5iYXNlLmRldjsKPj4gLQlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+PiArCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRl dik7Cj4+ICAJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBhbmVsOwo+ PiAgCXUzMiBjcHVfY3RsMiwgcGNoX2N0bDEsIHBjaF9jdGwyLCB2YWw7Cj4+ICAKPj4gQEAgLTE1 MTQsMTcgKzE0ODAsMTYgQEAgc3RhdGljIGludCBwY2hfc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBp bnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgZW51bSBwaXBlIHVudXMKPj4gIAo+PiAgc3RhdGlj IGludCBpOXh4X3NldHVwX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0 b3IsIGVudW0gcGlwZSB1bnVzZWQpCj4+ICB7Cj4+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IGNvbm5lY3Rvci0+YmFzZS5kZXY7Cj4+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwo+PiAgCXN0cnVjdCBpbnRlbF9w YW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKPj4gIAl1MzIgY3RsLCB2YWw7Cj4+ICAK Pj4gIAljdGwgPSBJOTE1X1JFQUQoQkxDX1BXTV9DVEwpOwo+PiAgCj4+IC0JaWYgKElTX0dFTjIo ZGV2KSB8fCBJU19JOTE1R00oZGV2KSB8fCBJU19JOTQ1R00oZGV2KSkKPj4gKwlpZiAoSVNfR0VO MihkZXZfcHJpdikgfHwgSVNfSTkxNUdNKGRldl9wcml2KSB8fCBJU19JOTQ1R00oZGV2X3ByaXYp KQo+PiAgCQlwYW5lbC0+YmFja2xpZ2h0LmNvbWJpbmF0aW9uX21vZGUgPSBjdGwgJiBCTE1fTEVH QUNZX01PREU7Cj4+ICAKPj4gLQlpZiAoSVNfUElORVZJRVcoZGV2KSkKPj4gKwlpZiAoSVNfUElO RVZJRVcoZGV2X3ByaXYpKQo+PiAgCQlwYW5lbC0+YmFja2xpZ2h0LmFjdGl2ZV9sb3dfcHdtID0g Y3RsICYgQkxNX1BPTEFSSVRZX1BOVjsKPj4gIAo+PiAgCXBhbmVsLT5iYWNrbGlnaHQubWF4ID0g Y3RsID4+IDE3Owo+PiBAQCAtMTU1Miw4ICsxNTE3LDcgQEAgc3RhdGljIGludCBpOXh4X3NldHVw X2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsIGVudW0gcGlwZSB1 bnUKPj4gIAo+PiAgc3RhdGljIGludCBpOTY1X3NldHVwX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yICpjb25uZWN0b3IsIGVudW0gcGlwZSB1bnVzZWQpCj4+ICB7Cj4+IC0Jc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7Cj4+IC0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gKwlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwo+ PiAgCXN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwgPSAmY29ubmVjdG9yLT5wYW5lbDsKPj4gIAl1 MzIgY3RsLCBjdGwyLCB2YWw7Cj4+ICAKPj4gQEAgLTE1ODYsOCArMTU1MCw3IEBAIHN0YXRpYyBp bnQgaTk2NV9zZXR1cF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y LCBlbnVtIHBpcGUgdW51Cj4+ICAKPj4gIHN0YXRpYyBpbnQgdmx2X3NldHVwX2JhY2tsaWdodChz dHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsIGVudW0gcGlwZSBwaXBlKQo+PiAgewo+ PiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2Owo+PiAtCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4+ICsJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJh c2UuZGV2KTsKPj4gIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFu ZWw7Cj4+ICAJdTMyIGN0bCwgY3RsMiwgdmFsOwo+PiAgCj4+IEBAIC0xNjA4LDcgKzE1NzEsNyBA QCBzdGF0aWMgaW50IHZsdl9zZXR1cF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAq Y29ubmVjdG9yLCBlbnVtIHBpcGUgcGlwZQo+PiAgCj4+ICAJcGFuZWwtPmJhY2tsaWdodC5taW4g PSBnZXRfYmFja2xpZ2h0X21pbl92YnQoY29ubmVjdG9yKTsKPj4gIAo+PiAtCXZhbCA9IF92bHZf Z2V0X2JhY2tsaWdodChkZXYsIHBpcGUpOwo+PiArCXZhbCA9IF92bHZfZ2V0X2JhY2tsaWdodChk ZXZfcHJpdiwgcGlwZSk7Cj4+ICAJcGFuZWwtPmJhY2tsaWdodC5sZXZlbCA9IGludGVsX3BhbmVs X2NvbXB1dGVfYnJpZ2h0bmVzcyhjb25uZWN0b3IsIHZhbCk7Cj4+ICAKPj4gIAlwYW5lbC0+YmFj a2xpZ2h0LmVuYWJsZWQgPSAoY3RsMiAmIEJMTV9QV01fRU5BQkxFKSAmJgo+PiBAQCAtMTYyMCw4 ICsxNTgzLDcgQEAgc3RhdGljIGludCB2bHZfc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvciwgZW51bSBwaXBlIHBpcGUKPj4gIHN0YXRpYyBpbnQKPj4gIGJ4 dF9zZXR1cF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBlbnVt IHBpcGUgdW51c2VkKQo+PiAgewo+PiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0 b3ItPmJhc2UuZGV2Owo+PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRl di0+ZGV2X3ByaXZhdGU7Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShjb25uZWN0b3ItPmJhc2UuZGV2KTsKPj4gIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBh bmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7Cj4+ICAJdTMyIHB3bV9jdGwsIHZhbDsKPj4gIAo+PiBA QCAtMTY5OSw4ICsxNjYxLDcgQEAgc3RhdGljIGludCBwd21fc2V0dXBfYmFja2xpZ2h0KHN0cnVj dCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKPj4gIAo+PiAgaW50IGludGVsX3BhbmVsX3Nl dHVwX2JhY2tsaWdodChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBlbnVtIHBpcGUg cGlwZSkKPj4gIHsKPj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7 Cj4+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKPj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5l Y3Rvci0+ZGV2KTsKPj4gIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3Ig PSB0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKTsKPj4gIAlzdHJ1Y3QgaW50ZWxfcGFuZWwg KnBhbmVsID0gJmludGVsX2Nvbm5lY3Rvci0+cGFuZWw7Cj4+ICAJaW50IHJldDsKPj4gQEAgLTE3 NTUsMzYgKzE3MTYsMzUgQEAgdm9pZCBpbnRlbF9wYW5lbF9kZXN0cm95X2JhY2tsaWdodChzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+PiAgc3RhdGljIHZvaWQKPj4gIGludGVsX3Bh bmVsX2luaXRfYmFja2xpZ2h0X2Z1bmNzKHN0cnVjdCBpbnRlbF9wYW5lbCAqcGFuZWwpCj4+ICB7 Cj4+IC0Jc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0KPj4gKwlzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IgPQo+PiAgCQljb250YWluZXJfb2YocGFuZWws IHN0cnVjdCBpbnRlbF9jb25uZWN0b3IsIHBhbmVsKTsKPj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gaW50ZWxfY29ubmVjdG9yLT5iYXNlLmRldjsKPj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+PiArCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRldik7Cj4+ICAKPj4g LQlpZiAoSVNfQlJPWFRPTihkZXYpKSB7Cj4+ICsJaWYgKElTX0JST1hUT04oZGV2X3ByaXYpKSB7 Cj4+ICAJCXBhbmVsLT5iYWNrbGlnaHQuc2V0dXAgPSBieHRfc2V0dXBfYmFja2xpZ2h0Owo+PiAg CQlwYW5lbC0+YmFja2xpZ2h0LmVuYWJsZSA9IGJ4dF9lbmFibGVfYmFja2xpZ2h0Owo+PiAgCQlw YW5lbC0+YmFja2xpZ2h0LmRpc2FibGUgPSBieHRfZGlzYWJsZV9iYWNrbGlnaHQ7Cj4+ICAJCXBh bmVsLT5iYWNrbGlnaHQuc2V0ID0gYnh0X3NldF9iYWNrbGlnaHQ7Cj4+ICAJCXBhbmVsLT5iYWNr bGlnaHQuZ2V0ID0gYnh0X2dldF9iYWNrbGlnaHQ7Cj4+ICAJCXBhbmVsLT5iYWNrbGlnaHQuaHpf dG9fcHdtID0gYnh0X2h6X3RvX3B3bTsKPj4gLQl9IGVsc2UgaWYgKEhBU19QQ0hfTFBUKGRldikg fHwgSEFTX1BDSF9TUFQoZGV2KSkgewo+PiArCX0gZWxzZSBpZiAoSEFTX1BDSF9MUFQoZGV2X3By aXYpIHx8IEhBU19QQ0hfU1BUKGRldl9wcml2KSkgewo+PiAgCQlwYW5lbC0+YmFja2xpZ2h0LnNl dHVwID0gbHB0X3NldHVwX2JhY2tsaWdodDsKPj4gIAkJcGFuZWwtPmJhY2tsaWdodC5lbmFibGUg PSBscHRfZW5hYmxlX2JhY2tsaWdodDsKPj4gIAkJcGFuZWwtPmJhY2tsaWdodC5kaXNhYmxlID0g bHB0X2Rpc2FibGVfYmFja2xpZ2h0Owo+PiAgCQlwYW5lbC0+YmFja2xpZ2h0LnNldCA9IGxwdF9z ZXRfYmFja2xpZ2h0Owo+PiAgCQlwYW5lbC0+YmFja2xpZ2h0LmdldCA9IGxwdF9nZXRfYmFja2xp Z2h0Owo+PiAtCQlpZiAoSEFTX1BDSF9MUFQoZGV2KSkKPj4gKwkJaWYgKEhBU19QQ0hfTFBUKGRl dl9wcml2KSkKPj4gIAkJCXBhbmVsLT5iYWNrbGlnaHQuaHpfdG9fcHdtID0gbHB0X2h6X3RvX3B3 bTsKPj4gIAkJZWxzZQo+PiAgCQkJcGFuZWwtPmJhY2tsaWdodC5oel90b19wd20gPSBzcHRfaHpf dG9fcHdtOwo+PiAtCX0gZWxzZSBpZiAoSEFTX1BDSF9TUExJVChkZXYpKSB7Cj4+ICsJfSBlbHNl IGlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSkgewo+PiAgCQlwYW5lbC0+YmFja2xpZ2h0LnNl dHVwID0gcGNoX3NldHVwX2JhY2tsaWdodDsKPj4gIAkJcGFuZWwtPmJhY2tsaWdodC5lbmFibGUg PSBwY2hfZW5hYmxlX2JhY2tsaWdodDsKPj4gIAkJcGFuZWwtPmJhY2tsaWdodC5kaXNhYmxlID0g cGNoX2Rpc2FibGVfYmFja2xpZ2h0Owo+PiAgCQlwYW5lbC0+YmFja2xpZ2h0LnNldCA9IHBjaF9z ZXRfYmFja2xpZ2h0Owo+PiAgCQlwYW5lbC0+YmFja2xpZ2h0LmdldCA9IHBjaF9nZXRfYmFja2xp Z2h0Owo+PiAgCQlwYW5lbC0+YmFja2xpZ2h0Lmh6X3RvX3B3bSA9IHBjaF9oel90b19wd207Cj4+ IC0JfSBlbHNlIGlmIChJU19WQUxMRVlWSUVXKGRldikgfHwgSVNfQ0hFUlJZVklFVyhkZXYpKSB7 Cj4+ICsJfSBlbHNlIGlmIChJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVX KGRldl9wcml2KSkgewo+PiAgCQlpZiAoZGV2X3ByaXYtPnZidC5oYXNfbWlwaSkgewo+PiAgCQkJ cGFuZWwtPmJhY2tsaWdodC5zZXR1cCA9IHB3bV9zZXR1cF9iYWNrbGlnaHQ7Cj4+ICAJCQlwYW5l bC0+YmFja2xpZ2h0LmVuYWJsZSA9IHB3bV9lbmFibGVfYmFja2xpZ2h0Owo+PiBAQCAtMTc5OSw3 ICsxNzU5LDcgQEAgaW50ZWxfcGFuZWxfaW5pdF9iYWNrbGlnaHRfZnVuY3Moc3RydWN0IGludGVs X3BhbmVsICpwYW5lbCkKPj4gIAkJCXBhbmVsLT5iYWNrbGlnaHQuZ2V0ID0gdmx2X2dldF9iYWNr bGlnaHQ7Cj4+ICAJCQlwYW5lbC0+YmFja2xpZ2h0Lmh6X3RvX3B3bSA9IHZsdl9oel90b19wd207 Cj4+ICAJCX0KPj4gLQl9IGVsc2UgaWYgKElTX0dFTjQoZGV2KSkgewo+PiArCX0gZWxzZSBpZiAo SVNfR0VONChkZXZfcHJpdikpIHsKPj4gIAkJcGFuZWwtPmJhY2tsaWdodC5zZXR1cCA9IGk5NjVf c2V0dXBfYmFja2xpZ2h0Owo+PiAgCQlwYW5lbC0+YmFja2xpZ2h0LmVuYWJsZSA9IGk5NjVfZW5h YmxlX2JhY2tsaWdodDsKPj4gIAkJcGFuZWwtPmJhY2tsaWdodC5kaXNhYmxlID0gaTk2NV9kaXNh YmxlX2JhY2tsaWdodDsKPj4gLS0gCj4+IDIuMS40Cj4+Cj4+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPj4g SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKSmFuaSBOaWt1bGEsIEludGVs IE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==