From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: cleanup patch for intel_ddi.c Date: Thu, 9 Mar 2017 17:03:58 +0200 Message-ID: <20170309150358.GR31595@intel.com> References: <1489057100-4480-1-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0F5186EC9D for ; Thu, 9 Mar 2017 15:04:03 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1489057100-4480-1-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Shashank Sharma Cc: ander.conselvan.de.oliveira@intel.com, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBNYXIgMDksIDIwMTcgYXQgMDQ6Mjg6MjBQTSArMDUzMCwgU2hhc2hhbmsgU2hhcm1h IHdyb3RlOgo+IEluIEk5MTUgZHJpdmVyLCB0aGVyZSBhcmUgbWFueSBwbGFjZXMgd2hlcmUgdmFy aWFibGUgbmFtZSBmb3IKPiBpbnRlbF9lbmNvZGVyIG9iamVjdCBpcyBnaXZlbiBhcyAnaW50ZWxf ZW5jb2Rlcicgd2hlcmVhcyBpdCB3b3VsZAo+IG1ha2UgbW9yZSBzZW5zZSBpbiBtYW55IHBsYWNl cyB0byBjYWxsIGl0IGp1c3QgJ2VuY29kZXInLgo+IAo+IFRoaXMgcGF0Y2ggZG9lcyBhIHNpbWls YXIgY2xlYW51cCBpbiBmaWxlIGludGVsX2RkaS5jLgo+IAo+IFBTOiBUaGVyZSBhcmUgZmV3IGZ1 bmN0aW9ucyB3aGVyZSBib3RoIGRybV9lbmNvZGVyIGFuZCBpbnRlbF9lbmNvZGVyCj4gYXJlIHBy ZXNlbnQuIEZvciBzdWNoIGZ1bmN0aW9ucywgdGhpcyBwYXRjaCBkb2VzIG5vdGhpbmcuCj4gCj4g U3VnZ2VzdGVkLWJ5OiBBbmRlciBDb25zZWx2YW4gRGUgT2xpdmVpcmEgPGNvbnNlbHZhbjJAZ21h aWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1h QGludGVsLmNvbT4KCkp1c3QgRllJLiBUaGlzIHNvcnQgb2YgY2xlYW51cCBpcyBwcmV0dHkgbmlj ZSB0byBwZXJmb3JtIHdpdGggY29jY2luZWxsZS4KSXQncyBhIHNvbWV3aGF0IGZydXN0cmF0aW5n IHRvb2wgYXQgdGltZXMsIGJ1dCB1c2luZyBpdCBnZW5lcmFsbHkgbWFrZXMKcGF0Y2hlcyBsaWtl IHRoaXMgZWFzaWVyIHRvIHJldmlldyBhcyB5b3UgY2FuIG1vc3RseSBqdXN0IHJldmlldyB0aGUK c2VtYW50aWMgcGF0Y2ggYW5kIGRvbid0IGhhdmUgdG8gY29tYiB0aGUgYWN0dWFsIGRpZmYgdG9v IGNsb3NlbHkuCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyB8IDY2 ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5n ZWQsIDMzIGluc2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RkaS5jCj4gaW5kZXggMDQ2NzY3Ni4uZWUzNDFlZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RkaS5jCj4gQEAgLTgyMSwxMSArODIxLDExIEBAIHZvaWQgaW50ZWxfZGRpX2luaXRfZHBf YnVmX3JlZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAgaW50ZWxfZGRpX2dldF9j cnRjX2VuY29kZXIoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIHsKPiAgCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBjcnRjLT5iYXNlLmRldjsKPiAtCXN0cnVjdCBpbnRlbF9lbmNvZGVyICpp bnRlbF9lbmNvZGVyLCAqcmV0ID0gTlVMTDsKPiArCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLCAqcmV0ID0gTlVMTDsKPiAgCWludCBudW1fZW5jb2RlcnMgPSAwOwo+ICAKPiAtCWZvcl9l YWNoX2VuY29kZXJfb25fY3J0YyhkZXYsICZjcnRjLT5iYXNlLCBpbnRlbF9lbmNvZGVyKSB7Cj4g LQkJcmV0ID0gaW50ZWxfZW5jb2RlcjsKPiArCWZvcl9lYWNoX2VuY29kZXJfb25fY3J0YyhkZXYs ICZjcnRjLT5iYXNlLCBlbmNvZGVyKSB7Cj4gKwkJcmV0ID0gZW5jb2RlcjsKPiAgCQludW1fZW5j b2RlcnMrKzsKPiAgCX0KPiAgCj4gQEAgLTExMzAsMTIgKzExMzAsMTIgQEAgdm9pZCBpbnRlbF9k ZGlfY2xvY2tfZ2V0KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICBzdGF0aWMgYm9v bAo+ICBoc3dfZGRpX3BsbF9zZWxlY3Qoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCj4g IAkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gLQkJICAgc3RydWN0 IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCj4gKwkJICAgc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIpCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsOwo+ICAK PiAgCXBsbCA9IGludGVsX2dldF9zaGFyZWRfZHBsbChpbnRlbF9jcnRjLCBjcnRjX3N0YXRlLAo+ IC0JCQkJICAgIGludGVsX2VuY29kZXIpOwo+ICsJCQkJICAgIGVuY29kZXIpOwo+ICAJaWYgKCFw bGwpCj4gIAkJRFJNX0RFQlVHX0RSSVZFUigiZmFpbGVkIHRvIGZpbmQgUExMIGZvciBwaXBlICVj XG4iLAo+ICAJCQkJIHBpcGVfbmFtZShpbnRlbF9jcnRjLT5waXBlKSk7Cj4gQEAgLTExNDYsMTEg KzExNDYsMTEgQEAgdm9pZCBpbnRlbF9kZGlfY2xvY2tfZ2V0KHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAo+ICBzdGF0aWMgYm9vbAo+ICBza2xfZGRpX3BsbF9zZWxlY3Qoc3RydWN0IGlu dGVsX2NydGMgKmludGVsX2NydGMsCj4gIAkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUsCj4gLQkJICAgc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCj4g KwkJICAgc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIHsKPiAgCXN0cnVjdCBpbnRl bF9zaGFyZWRfZHBsbCAqcGxsOwo+ICAKPiAtCXBsbCA9IGludGVsX2dldF9zaGFyZWRfZHBsbChp bnRlbF9jcnRjLCBjcnRjX3N0YXRlLCBpbnRlbF9lbmNvZGVyKTsKPiArCXBsbCA9IGludGVsX2dl dF9zaGFyZWRfZHBsbChpbnRlbF9jcnRjLCBjcnRjX3N0YXRlLCBlbmNvZGVyKTsKPiAgCWlmIChw bGwgPT0gTlVMTCkgewo+ICAJCURSTV9ERUJVR19EUklWRVIoImZhaWxlZCB0byBmaW5kIFBMTCBm b3IgcGlwZSAlY1xuIiwKPiAgCQkJCSBwaXBlX25hbWUoaW50ZWxfY3J0Yy0+cGlwZSkpOwo+IEBA IC0xMTYzLDkgKzExNjMsOSBAQCB2b2lkIGludGVsX2RkaV9jbG9ja19nZXQoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCj4gIHN0YXRpYyBib29sCj4gIGJ4dF9kZGlfcGxsX3NlbGVjdChz dHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiAgCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSwKPiAtCQkgICBzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5j b2RlcikKPiArCQkgICBzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAgewo+IC0JcmV0 dXJuICEhaW50ZWxfZ2V0X3NoYXJlZF9kcGxsKGludGVsX2NydGMsIGNydGNfc3RhdGUsIGludGVs X2VuY29kZXIpOwo+ICsJcmV0dXJuICEhaW50ZWxfZ2V0X3NoYXJlZF9kcGxsKGludGVsX2NydGMs IGNydGNfc3RhdGUsIGVuY29kZXIpOwo+ICB9Cj4gIAo+ICAvKgo+IEBAIC0xMTc5LDI3ICsxMTc5 LDI3IEBAIGJvb2wgaW50ZWxfZGRpX3BsbF9zZWxlY3Qoc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMsCj4gIAkJCSAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIHsK PiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfY3J0 Yy0+YmFzZS5kZXYpOwo+IC0Jc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIgPQo+ ICsJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPQo+ICAJCWludGVsX2RkaV9nZXRfY3J0 Y19uZXdfZW5jb2RlcihjcnRjX3N0YXRlKTsKPiAgCj4gIAlpZiAoSVNfR0VOOV9CQyhkZXZfcHJp dikpCj4gIAkJcmV0dXJuIHNrbF9kZGlfcGxsX3NlbGVjdChpbnRlbF9jcnRjLCBjcnRjX3N0YXRl LAo+IC0JCQkJCSAgaW50ZWxfZW5jb2Rlcik7Cj4gKwkJCQkJICBlbmNvZGVyKTsKPiAgCWVsc2Ug aWYgKElTX0dFTjlfTFAoZGV2X3ByaXYpKQo+ICAJCXJldHVybiBieHRfZGRpX3BsbF9zZWxlY3Qo aW50ZWxfY3J0YywgY3J0Y19zdGF0ZSwKPiAtCQkJCQkgIGludGVsX2VuY29kZXIpOwo+ICsJCQkJ CSAgZW5jb2Rlcik7Cj4gIAllbHNlCj4gIAkJcmV0dXJuIGhzd19kZGlfcGxsX3NlbGVjdChpbnRl bF9jcnRjLCBjcnRjX3N0YXRlLAo+IC0JCQkJCSAgaW50ZWxfZW5jb2Rlcik7Cj4gKwkJCQkJICBl bmNvZGVyKTsKPiAgfQo+ICAKPiAgdm9pZCBpbnRlbF9kZGlfc2V0X3BpcGVfc2V0dGluZ3MoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwo+ ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNl LmRldik7Cj4gLQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9IGludGVsX2Rk aV9nZXRfY3J0Y19lbmNvZGVyKGNydGMpOwo+ICsJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIgPSBpbnRlbF9kZGlfZ2V0X2NydGNfZW5jb2RlcihjcnRjKTsKPiAgCWVudW0gdHJhbnNjb2Rl ciBjcHVfdHJhbnNjb2RlciA9IGNydGNfc3RhdGUtPmNwdV90cmFuc2NvZGVyOwo+IC0JaW50IHR5 cGUgPSBpbnRlbF9lbmNvZGVyLT50eXBlOwo+ICsJaW50IHR5cGUgPSBlbmNvZGVyLT50eXBlOwo+ ICAJdWludDMyX3QgdGVtcDsKPiAgCj4gIAlpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfRFAgfHwg dHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQIHx8IHR5cGUgPT0gSU5URUxfT1VUUFVUX0RQX01TVCkg ewo+IEBAIC0xMjQ0LDEyICsxMjQ0LDEyIEBAIHZvaWQgaW50ZWxfZGRpX3NldF92Y19wYXlsb2Fk X2FsbG9jKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICB2b2lk IGludGVsX2RkaV9lbmFibGVfdHJhbnNjb2Rlcl9mdW5jKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKPiAtCXN0cnVjdCBpbnRlbF9lbmNv ZGVyICppbnRlbF9lbmNvZGVyID0gaW50ZWxfZGRpX2dldF9jcnRjX2VuY29kZXIoY3J0Yyk7Cj4g KwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9IGludGVsX2RkaV9nZXRfY3J0Y19lbmNv ZGVyKGNydGMpOwo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShjcnRjLT5iYXNlLmRldik7Cj4gIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7Cj4gIAll bnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2Rl cjsKPiAtCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoaW50ZWxf ZW5jb2Rlcik7Cj4gLQlpbnQgdHlwZSA9IGludGVsX2VuY29kZXItPnR5cGU7Cj4gKwllbnVtIHBv cnQgcG9ydCA9IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9wb3J0KGVuY29kZXIpOwo+ICsJaW50IHR5 cGUgPSBlbmNvZGVyLT50eXBlOwo+ICAJdWludDMyX3QgdGVtcDsKPiAgCj4gIAkvKiBFbmFibGUg VFJBTlNfRERJX0ZVTkNfQ1RMIGZvciB0aGUgcGlwZSB0byB3b3JrIGluIEhETUkgbW9kZSAqLwo+ IEBAIC0xMzIxLDcgKzEzMjEsNyBAQCB2b2lkIGludGVsX2RkaV9lbmFibGVfdHJhbnNjb2Rlcl9m dW5jKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICAJCXRlbXAg fD0gRERJX1BPUlRfV0lEVEgoY3J0Y19zdGF0ZS0+bGFuZV9jb3VudCk7Cj4gIAl9IGVsc2Ugewo+ ICAJCVdBUk4oMSwgIkludmFsaWQgZW5jb2RlciB0eXBlICVkIGZvciBwaXBlICVjXG4iLAo+IC0J CSAgICAgaW50ZWxfZW5jb2Rlci0+dHlwZSwgcGlwZV9uYW1lKHBpcGUpKTsKPiArCQkgICAgIGVu Y29kZXItPnR5cGUsIHBpcGVfbmFtZShwaXBlKSk7Cj4gIAl9Cj4gIAo+ICAJSTkxNV9XUklURShU UkFOU19ERElfRlVOQ19DVEwoY3B1X3RyYW5zY29kZXIpLCB0ZW1wKTsKPiBAQCAtMTM0MiwxOSAr MTM0MiwxOSBAQCBib29sIGludGVsX2RkaV9jb25uZWN0b3JfZ2V0X2h3X3N0YXRlKHN0cnVjdCBp bnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvcikKPiAgewo+ICAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGludGVsX2Nvbm5lY3Rvci0+YmFzZS5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gLQlzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqaW50ZWxfZW5jb2RlciA9IGludGVsX2Nvbm5lY3Rvci0+ZW5jb2RlcjsKPiArCXN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyID0gaW50ZWxfY29ubmVjdG9yLT5lbmNvZGVyOwo+ICAJaW50 IHR5cGUgPSBpbnRlbF9jb25uZWN0b3ItPmJhc2UuY29ubmVjdG9yX3R5cGU7Cj4gLQllbnVtIHBv cnQgcG9ydCA9IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9wb3J0KGludGVsX2VuY29kZXIpOwo+ICsJ ZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kZGlfZ2V0X2VuY29kZXJfcG9ydChlbmNvZGVyKTsKPiAg CWVudW0gcGlwZSBwaXBlID0gMDsKPiAgCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlcjsK PiAgCXVpbnQzMl90IHRtcDsKPiAgCWJvb2wgcmV0Owo+ICAKPiAgCWlmICghaW50ZWxfZGlzcGxh eV9wb3dlcl9nZXRfaWZfZW5hYmxlZChkZXZfcHJpdiwKPiAtCQkJCQkJaW50ZWxfZW5jb2Rlci0+ cG93ZXJfZG9tYWluKSkKPiArCQkJCQkJZW5jb2Rlci0+cG93ZXJfZG9tYWluKSkKPiAgCQlyZXR1 cm4gZmFsc2U7Cj4gIAo+IC0JaWYgKCFpbnRlbF9lbmNvZGVyLT5nZXRfaHdfc3RhdGUoaW50ZWxf ZW5jb2RlciwgJnBpcGUpKSB7Cj4gKwlpZiAoIWVuY29kZXItPmdldF9od19zdGF0ZShlbmNvZGVy LCAmcGlwZSkpIHsKPiAgCQlyZXQgPSBmYWxzZTsKPiAgCQlnb3RvIG91dDsKPiAgCX0KPiBAQCAt MTM5Myw3ICsxMzkzLDcgQEAgYm9vbCBpbnRlbF9kZGlfY29ubmVjdG9yX2dldF9od19zdGF0ZShz dHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IpCj4gIAl9Cj4gIAo+ICBvdXQ6 Cj4gLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgaW50ZWxfZW5jb2Rlci0+cG93 ZXJfZG9tYWluKTsKPiArCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBlbmNvZGVy LT5wb3dlcl9kb21haW4pOwo+ICAKPiAgCXJldHVybiByZXQ7Cj4gIH0KPiBAQCAtMTQ4Niw4ICsx NDg2LDggQEAgdm9pZCBpbnRlbF9kZGlfZW5hYmxlX3BpcGVfY2xvY2soY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBpbnRlbF9jcnRjICpj cnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwo+ICAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gLQlz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9IGludGVsX2RkaV9nZXRfY3J0Y19l bmNvZGVyKGNydGMpOwo+IC0JZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kZGlfZ2V0X2VuY29kZXJf cG9ydChpbnRlbF9lbmNvZGVyKTsKPiArCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0g aW50ZWxfZGRpX2dldF9jcnRjX2VuY29kZXIoY3J0Yyk7Cj4gKwllbnVtIHBvcnQgcG9ydCA9IGlu dGVsX2RkaV9nZXRfZW5jb2Rlcl9wb3J0KGVuY29kZXIpOwo+ICAJZW51bSB0cmFuc2NvZGVyIGNw dV90cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7Cj4gIAo+ICAJaWYgKGNw dV90cmFuc2NvZGVyICE9IFRSQU5TQ09ERVJfRURQKQo+IEBAIC0xNzYyLDE0ICsxNzYyLDE0IEBA IHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCj4gIAkJCQkgICBjcnRjX3N0YXRlLCBjb25uX3N0YXRlKTsKPiAgfQo+ICAK PiAtc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIg KmludGVsX2VuY29kZXIsCj4gK3N0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpwaXBlX2NvbmZpZywKPiAgCQkJCSBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9z dGF0ZSkKPiAgewo+IC0JaW50IHR5cGUgPSBpbnRlbF9lbmNvZGVyLT50eXBlOwo+ICsJaW50IHR5 cGUgPSBlbmNvZGVyLT50eXBlOwo+ICAKPiAgCWlmICh0eXBlID09IElOVEVMX09VVFBVVF9EUCB8 fCB0eXBlID09IElOVEVMX09VVFBVVF9FRFApIHsKPiAtCQlpbnRlbF9kZGlfcHJlX2VuYWJsZV9k cChpbnRlbF9lbmNvZGVyLAo+ICsJCWludGVsX2RkaV9wcmVfZW5hYmxlX2RwKGVuY29kZXIsCj4g IAkJCQkJcGlwZV9jb25maWctPnBvcnRfY2xvY2ssCj4gIAkJCQkJcGlwZV9jb25maWctPmxhbmVf Y291bnQsCj4gIAkJCQkJcGlwZV9jb25maWctPnNoYXJlZF9kcGxsLAo+IEBAIC0xNzc3LDcgKzE3 NzcsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqaW50ZWxfZW5jb2RlciwKPiAgCQkJCQkJCSAgICBJTlRFTF9PVVRQVVRfRFBfTVNUKSk7 Cj4gIAl9Cj4gIAlpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfSERNSSkgewo+IC0JCWludGVsX2Rk aV9wcmVfZW5hYmxlX2hkbWkoaW50ZWxfZW5jb2RlciwKPiArCQlpbnRlbF9kZGlfcHJlX2VuYWJs ZV9oZG1pKGVuY29kZXIsCj4gIAkJCQkJICBwaXBlX2NvbmZpZy0+aGFzX2hkbWlfc2luaywKPiAg CQkJCQkgIHBpcGVfY29uZmlnLCBjb25uX3N0YXRlLAo+ICAJCQkJCSAgcGlwZV9jb25maWctPnNo YXJlZF9kcGxsKTsKPiBAQCAtMTgzNiwxMSArMTgzNiwxMSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9k ZGlfcG9zdF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAo+ICAJ fQo+ICB9Cj4gIAo+IC12b2lkIGludGVsX2RkaV9mZGlfcG9zdF9kaXNhYmxlKHN0cnVjdCBpbnRl bF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAo+ICt2b2lkIGludGVsX2RkaV9mZGlfcG9zdF9kaXNh YmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJCQkJc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAo+ICAJCQkJc3RydWN0IGRybV9jb25uZWN0b3Jfc3Rh dGUgKm9sZF9jb25uX3N0YXRlKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGludGVsX2VuY29kZXItPmJhc2UuZGV2KTsKPiArCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ICAJ dWludDMyX3QgdmFsOwo+ICAKPiAgCS8qCj4gQEAgLTE4NTMsNyArMTg1Myw3IEBAIHZvaWQgaW50 ZWxfZGRpX2ZkaV9wb3N0X2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29k ZXIsCj4gIAl2YWwgJj0gfkZESV9SWF9FTkFCTEU7Cj4gIAlJOTE1X1dSSVRFKEZESV9SWF9DVEwo UElQRV9BKSwgdmFsKTsKPiAgCj4gLQlpbnRlbF9kZGlfcG9zdF9kaXNhYmxlKGludGVsX2VuY29k ZXIsIG9sZF9jcnRjX3N0YXRlLCBvbGRfY29ubl9zdGF0ZSk7Cj4gKwlpbnRlbF9kZGlfcG9zdF9k aXNhYmxlKGVuY29kZXIsIG9sZF9jcnRjX3N0YXRlLCBvbGRfY29ubl9zdGF0ZSk7Cj4gIAo+ICAJ dmFsID0gSTkxNV9SRUFEKEZESV9SWF9NSVNDKFBJUEVfQSkpOwo+ICAJdmFsICY9IH4oRkRJX1JY X1BXUkROX0xBTkUxX01BU0sgfCBGRElfUlhfUFdSRE5fTEFORTBfTUFTSyk7Cj4gLS0gCj4gMS45 LjEKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=