From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/i915: cleanup patch for intel_ddi.c Date: Thu, 09 Mar 2017 12:58:51 +0200 Message-ID: <87a88uhg2c.fsf@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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id C3BCE6EBDF for ; Thu, 9 Mar 2017 10:58:53 +0000 (UTC) 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 , ander.conselvan.de.oliveira@intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAwOSBNYXIgMjAxNywgU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50 ZWwuY29tPiB3cm90ZToKPiBJbiBJOTE1IGRyaXZlciwgdGhlcmUgYXJlIG1hbnkgcGxhY2VzIHdo ZXJlIHZhcmlhYmxlIG5hbWUgZm9yCj4gaW50ZWxfZW5jb2RlciBvYmplY3QgaXMgZ2l2ZW4gYXMg J2ludGVsX2VuY29kZXInIHdoZXJlYXMgaXQgd291bGQKPiBtYWtlIG1vcmUgc2Vuc2UgaW4gbWFu eSBwbGFjZXMgdG8gY2FsbCBpdCBqdXN0ICdlbmNvZGVyJy4KPgo+IFRoaXMgcGF0Y2ggZG9lcyBh IHNpbWlsYXIgY2xlYW51cCBpbiBmaWxlIGludGVsX2RkaS5jLgo+Cj4gUFM6IFRoZXJlIGFyZSBm ZXcgZnVuY3Rpb25zIHdoZXJlIGJvdGggZHJtX2VuY29kZXIgYW5kIGludGVsX2VuY29kZXIKPiBh cmUgcHJlc2VudC4gRm9yIHN1Y2ggZnVuY3Rpb25zLCB0aGlzIHBhdGNoIGRvZXMgbm90aGluZy4K Pgo+IFN1Z2dlc3RlZC1ieTogQW5kZXIgQ29uc2VsdmFuIERlIE9saXZlaXJhIDxjb25zZWx2YW4y QGdtYWlsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNo YXJtYUBpbnRlbC5jb20+CgpTdGlsbCBuZWVkcyByZXZpZXcgYnV0CgpBY2tlZC1ieTogSmFuaSBO aWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kZGkuYyB8IDY2ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygt KQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBpbmRleCAwNDY3Njc2Li5lZTM0MWVmIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBAQCAtODIxLDExICs4MjEsMTEgQEAgdm9p ZCBpbnRlbF9kZGlfaW5pdF9kcF9idWZfcmVnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy KQo+ICBpbnRlbF9kZGlfZ2V0X2NydGNfZW5jb2RlcihzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykK PiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2Owo+IC0Jc3Ry dWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsICpyZXQgPSBOVUxMOwo+ICsJc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsICpyZXQgPSBOVUxMOwo+ICAJaW50IG51bV9lbmNvZGVy cyA9IDA7Cj4gIAo+IC0JZm9yX2VhY2hfZW5jb2Rlcl9vbl9jcnRjKGRldiwgJmNydGMtPmJhc2Us IGludGVsX2VuY29kZXIpIHsKPiAtCQlyZXQgPSBpbnRlbF9lbmNvZGVyOwo+ICsJZm9yX2VhY2hf ZW5jb2Rlcl9vbl9jcnRjKGRldiwgJmNydGMtPmJhc2UsIGVuY29kZXIpIHsKPiArCQlyZXQgPSBl bmNvZGVyOwo+ICAJCW51bV9lbmNvZGVycysrOwo+ICAJfQo+ICAKPiBAQCAtMTEzMCwxMiArMTEz MCwxMiBAQCB2b2lkIGludGVsX2RkaV9jbG9ja19nZXQoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCj4gIHN0YXRpYyBib29sCj4gIGhzd19kZGlfcGxsX3NlbGVjdChzdHJ1Y3QgaW50ZWxf Y3J0YyAqaW50ZWxfY3J0YywKPiAgCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSwKPiAtCQkgICBzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKPiArCQkg ICBzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAgewo+ICAJc3RydWN0IGludGVsX3No YXJlZF9kcGxsICpwbGw7Cj4gIAo+ICAJcGxsID0gaW50ZWxfZ2V0X3NoYXJlZF9kcGxsKGludGVs X2NydGMsIGNydGNfc3RhdGUsCj4gLQkJCQkgICAgaW50ZWxfZW5jb2Rlcik7Cj4gKwkJCQkgICAg ZW5jb2Rlcik7Cj4gIAlpZiAoIXBsbCkKPiAgCQlEUk1fREVCVUdfRFJJVkVSKCJmYWlsZWQgdG8g ZmluZCBQTEwgZm9yIHBpcGUgJWNcbiIsCj4gIAkJCQkgcGlwZV9uYW1lKGludGVsX2NydGMtPnBp cGUpKTsKPiBAQCAtMTE0NiwxMSArMTE0NiwxMSBAQCB2b2lkIGludGVsX2RkaV9jbG9ja19nZXQo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIHN0YXRpYyBib29sCj4gIHNrbF9kZGlf cGxsX3NlbGVjdChzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiAgCQkgICBzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiAtCQkgICBzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqaW50ZWxfZW5jb2RlcikKPiArCQkgICBzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikK PiAgewo+ICAJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGw7Cj4gIAo+IC0JcGxsID0gaW50 ZWxfZ2V0X3NoYXJlZF9kcGxsKGludGVsX2NydGMsIGNydGNfc3RhdGUsIGludGVsX2VuY29kZXIp Owo+ICsJcGxsID0gaW50ZWxfZ2V0X3NoYXJlZF9kcGxsKGludGVsX2NydGMsIGNydGNfc3RhdGUs IGVuY29kZXIpOwo+ICAJaWYgKHBsbCA9PSBOVUxMKSB7Cj4gIAkJRFJNX0RFQlVHX0RSSVZFUigi ZmFpbGVkIHRvIGZpbmQgUExMIGZvciBwaXBlICVjXG4iLAo+ICAJCQkJIHBpcGVfbmFtZShpbnRl bF9jcnRjLT5waXBlKSk7Cj4gQEAgLTExNjMsOSArMTE2Myw5IEBAIHZvaWQgaW50ZWxfZGRpX2Ns b2NrX2dldChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgc3RhdGljIGJvb2wKPiAg Ynh0X2RkaV9wbGxfc2VsZWN0KHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ICAJCSAg IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+IC0JCSAgIHN0cnVjdCBpbnRl bF9lbmNvZGVyICppbnRlbF9lbmNvZGVyKQo+ICsJCSAgIHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyKQo+ICB7Cj4gLQlyZXR1cm4gISFpbnRlbF9nZXRfc2hhcmVkX2RwbGwoaW50ZWxfY3J0 YywgY3J0Y19zdGF0ZSwgaW50ZWxfZW5jb2Rlcik7Cj4gKwlyZXR1cm4gISFpbnRlbF9nZXRfc2hh cmVkX2RwbGwoaW50ZWxfY3J0YywgY3J0Y19zdGF0ZSwgZW5jb2Rlcik7Cj4gIH0KPiAgCj4gIC8q Cj4gQEAgLTExNzksMjcgKzExNzksMjcgQEAgYm9vbCBpbnRlbF9kZGlfcGxsX3NlbGVjdChzdHJ1 Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiAgCQkJICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShpbnRlbF9jcnRjLT5iYXNlLmRldik7Cj4gLQlzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqaW50ZWxfZW5jb2RlciA9Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9Cj4g IAkJaW50ZWxfZGRpX2dldF9jcnRjX25ld19lbmNvZGVyKGNydGNfc3RhdGUpOwo+ICAKPiAgCWlm IChJU19HRU45X0JDKGRldl9wcml2KSkKPiAgCQlyZXR1cm4gc2tsX2RkaV9wbGxfc2VsZWN0KGlu dGVsX2NydGMsIGNydGNfc3RhdGUsCj4gLQkJCQkJICBpbnRlbF9lbmNvZGVyKTsKPiArCQkJCQkg IGVuY29kZXIpOwo+ICAJZWxzZSBpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikpCj4gIAkJcmV0dXJu IGJ4dF9kZGlfcGxsX3NlbGVjdChpbnRlbF9jcnRjLCBjcnRjX3N0YXRlLAo+IC0JCQkJCSAgaW50 ZWxfZW5jb2Rlcik7Cj4gKwkJCQkJICBlbmNvZGVyKTsKPiAgCWVsc2UKPiAgCQlyZXR1cm4gaHN3 X2RkaV9wbGxfc2VsZWN0KGludGVsX2NydGMsIGNydGNfc3RhdGUsCj4gLQkJCQkJICBpbnRlbF9l bmNvZGVyKTsKPiArCQkJCQkgIGVuY29kZXIpOwo+ICB9Cj4gIAo+ICB2b2lkIGludGVsX2RkaV9z ZXRfcGlwZV9zZXR0aW5ncyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKPiAgewo+ICAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNf c3RhdGUtPmJhc2UuY3J0Yyk7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKPiAtCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRl bF9lbmNvZGVyID0gaW50ZWxfZGRpX2dldF9jcnRjX2VuY29kZXIoY3J0Yyk7Cj4gKwlzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciA9IGludGVsX2RkaV9nZXRfY3J0Y19lbmNvZGVyKGNydGMp Owo+ICAJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3Ry YW5zY29kZXI7Cj4gLQlpbnQgdHlwZSA9IGludGVsX2VuY29kZXItPnR5cGU7Cj4gKwlpbnQgdHlw ZSA9IGVuY29kZXItPnR5cGU7Cj4gIAl1aW50MzJfdCB0ZW1wOwo+ICAKPiAgCWlmICh0eXBlID09 IElOVEVMX09VVFBVVF9EUCB8fCB0eXBlID09IElOVEVMX09VVFBVVF9FRFAgfHwgdHlwZSA9PSBJ TlRFTF9PVVRQVVRfRFBfTVNUKSB7Cj4gQEAgLTEyNDQsMTIgKzEyNDQsMTIgQEAgdm9pZCBpbnRl bF9kZGlfc2V0X3ZjX3BheWxvYWRfYWxsb2MoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUsCj4gIHZvaWQgaW50ZWxfZGRpX2VuYWJsZV90cmFuc2NvZGVyX2Z1bmMoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBp bnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwo+ IC0Jc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIgPSBpbnRlbF9kZGlfZ2V0X2Ny dGNfZW5jb2RlcihjcnRjKTsKPiArCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0gaW50 ZWxfZGRpX2dldF9jcnRjX2VuY29kZXIoY3J0Yyk7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKPiAgCWVudW0gcGlwZSBwaXBl ID0gY3J0Yy0+cGlwZTsKPiAgCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9IGNydGNf c3RhdGUtPmNwdV90cmFuc2NvZGVyOwo+IC0JZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kZGlfZ2V0 X2VuY29kZXJfcG9ydChpbnRlbF9lbmNvZGVyKTsKPiAtCWludCB0eXBlID0gaW50ZWxfZW5jb2Rl ci0+dHlwZTsKPiArCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQo ZW5jb2Rlcik7Cj4gKwlpbnQgdHlwZSA9IGVuY29kZXItPnR5cGU7Cj4gIAl1aW50MzJfdCB0ZW1w Owo+ICAKPiAgCS8qIEVuYWJsZSBUUkFOU19ERElfRlVOQ19DVEwgZm9yIHRoZSBwaXBlIHRvIHdv cmsgaW4gSERNSSBtb2RlICovCj4gQEAgLTEzMjEsNyArMTMyMSw3IEBAIHZvaWQgaW50ZWxfZGRp X2VuYWJsZV90cmFuc2NvZGVyX2Z1bmMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpCj4gIAkJdGVtcCB8PSBERElfUE9SVF9XSURUSChjcnRjX3N0YXRlLT5sYW5lX2Nv dW50KTsKPiAgCX0gZWxzZSB7Cj4gIAkJV0FSTigxLCAiSW52YWxpZCBlbmNvZGVyIHR5cGUgJWQg Zm9yIHBpcGUgJWNcbiIsCj4gLQkJICAgICBpbnRlbF9lbmNvZGVyLT50eXBlLCBwaXBlX25hbWUo cGlwZSkpOwo+ICsJCSAgICAgZW5jb2Rlci0+dHlwZSwgcGlwZV9uYW1lKHBpcGUpKTsKPiAgCX0K PiAgCj4gIAlJOTE1X1dSSVRFKFRSQU5TX0RESV9GVU5DX0NUTChjcHVfdHJhbnNjb2RlciksIHRl bXApOwo+IEBAIC0xMzQyLDE5ICsxMzQyLDE5IEBAIGJvb2wgaW50ZWxfZGRpX2Nvbm5lY3Rvcl9n ZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yKQo+ICB7 Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfY29ubmVjdG9yLT5iYXNlLmRldjsK PiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAt CXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyID0gaW50ZWxfY29ubmVjdG9yLT5l bmNvZGVyOwo+ICsJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSBpbnRlbF9jb25uZWN0 b3ItPmVuY29kZXI7Cj4gIAlpbnQgdHlwZSA9IGludGVsX2Nvbm5lY3Rvci0+YmFzZS5jb25uZWN0 b3JfdHlwZTsKPiAtCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQo aW50ZWxfZW5jb2Rlcik7Cj4gKwllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RkaV9nZXRfZW5jb2Rl cl9wb3J0KGVuY29kZXIpOwo+ICAJZW51bSBwaXBlIHBpcGUgPSAwOwo+ICAJZW51bSB0cmFuc2Nv ZGVyIGNwdV90cmFuc2NvZGVyOwo+ICAJdWludDMyX3QgdG1wOwo+ICAJYm9vbCByZXQ7Cj4gIAo+ ICAJaWYgKCFpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldF9pZl9lbmFibGVkKGRldl9wcml2LAo+IC0J CQkJCQlpbnRlbF9lbmNvZGVyLT5wb3dlcl9kb21haW4pKQo+ICsJCQkJCQllbmNvZGVyLT5wb3dl cl9kb21haW4pKQo+ICAJCXJldHVybiBmYWxzZTsKPiAgCj4gLQlpZiAoIWludGVsX2VuY29kZXIt PmdldF9od19zdGF0ZShpbnRlbF9lbmNvZGVyLCAmcGlwZSkpIHsKPiArCWlmICghZW5jb2Rlci0+ Z2V0X2h3X3N0YXRlKGVuY29kZXIsICZwaXBlKSkgewo+ICAJCXJldCA9IGZhbHNlOwo+ICAJCWdv dG8gb3V0Owo+ICAJfQo+IEBAIC0xMzkzLDcgKzEzOTMsNyBAQCBib29sIGludGVsX2RkaV9jb25u ZWN0b3JfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3Rv cikKPiAgCX0KPiAgCj4gIG91dDoKPiAtCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2 LCBpbnRlbF9lbmNvZGVyLT5wb3dlcl9kb21haW4pOwo+ICsJaW50ZWxfZGlzcGxheV9wb3dlcl9w dXQoZGV2X3ByaXYsIGVuY29kZXItPnBvd2VyX2RvbWFpbik7Cj4gIAo+ICAJcmV0dXJuIHJldDsK PiAgfQo+IEBAIC0xNDg2LDggKzE0ODYsOCBAQCB2b2lkIGludGVsX2RkaV9lbmFibGVfcGlwZV9j bG9jayhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgewo+ICAJ c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2Uu Y3J0Yyk7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNy dGMtPmJhc2UuZGV2KTsKPiAtCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyID0g aW50ZWxfZGRpX2dldF9jcnRjX2VuY29kZXIoY3J0Yyk7Cj4gLQllbnVtIHBvcnQgcG9ydCA9IGlu dGVsX2RkaV9nZXRfZW5jb2Rlcl9wb3J0KGludGVsX2VuY29kZXIpOwo+ICsJc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIgPSBpbnRlbF9kZGlfZ2V0X2NydGNfZW5jb2RlcihjcnRjKTsKPiAr CWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoZW5jb2Rlcik7Cj4g IAllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBjcnRjX3N0YXRlLT5jcHVfdHJhbnNj b2RlcjsKPiAgCj4gIAlpZiAoY3B1X3RyYW5zY29kZXIgIT0gVFJBTlNDT0RFUl9FRFApCj4gQEAg LTE3NjIsMTQgKzE3NjIsMTQgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfaGRt aShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJCSAgIGNydGNfc3RhdGUsIGNv bm5fc3RhdGUpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZShz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKPiArc3RhdGljIHZvaWQgaW50ZWxf ZGRpX3ByZV9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCQkgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ICAJCQkJIHN0cnVjdCBkcm1fY29u bmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQo+ICB7Cj4gLQlpbnQgdHlwZSA9IGludGVsX2VuY29k ZXItPnR5cGU7Cj4gKwlpbnQgdHlwZSA9IGVuY29kZXItPnR5cGU7Cj4gIAo+ICAJaWYgKHR5cGUg PT0gSU5URUxfT1VUUFVUX0RQIHx8IHR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkgewo+IC0JCWlu dGVsX2RkaV9wcmVfZW5hYmxlX2RwKGludGVsX2VuY29kZXIsCj4gKwkJaW50ZWxfZGRpX3ByZV9l bmFibGVfZHAoZW5jb2RlciwKPiAgCQkJCQlwaXBlX2NvbmZpZy0+cG9ydF9jbG9jaywKPiAgCQkJ CQlwaXBlX2NvbmZpZy0+bGFuZV9jb3VudCwKPiAgCQkJCQlwaXBlX2NvbmZpZy0+c2hhcmVkX2Rw bGwsCj4gQEAgLTE3NzcsNyArMTc3Nyw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5h YmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLAo+ICAJCQkJCQkJICAgIElO VEVMX09VVFBVVF9EUF9NU1QpKTsKPiAgCX0KPiAgCWlmICh0eXBlID09IElOVEVMX09VVFBVVF9I RE1JKSB7Cj4gLQkJaW50ZWxfZGRpX3ByZV9lbmFibGVfaGRtaShpbnRlbF9lbmNvZGVyLAo+ICsJ CWludGVsX2RkaV9wcmVfZW5hYmxlX2hkbWkoZW5jb2RlciwKPiAgCQkJCQkgIHBpcGVfY29uZmln LT5oYXNfaGRtaV9zaW5rLAo+ICAJCQkJCSAgcGlwZV9jb25maWcsIGNvbm5fc3RhdGUsCj4gIAkJ CQkJICBwaXBlX2NvbmZpZy0+c2hhcmVkX2RwbGwpOwo+IEBAIC0xODM2LDExICsxODM2LDExIEBA IHN0YXRpYyB2b2lkIGludGVsX2RkaV9wb3N0X2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIg KmludGVsX2VuY29kZXIsCj4gIAl9Cj4gIH0KPiAgCj4gLXZvaWQgaW50ZWxfZGRpX2ZkaV9wb3N0 X2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIsCj4gK3ZvaWQgaW50 ZWxfZGRpX2ZkaV9wb3N0X2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4g IAkJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCj4gIAkJCQlzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX2Nvbm5fc3RhdGUpCj4gIHsKPiAtCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfZW5jb2Rlci0+YmFzZS5k ZXYpOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNv ZGVyLT5iYXNlLmRldik7Cj4gIAl1aW50MzJfdCB2YWw7Cj4gIAo+ICAJLyoKPiBAQCAtMTg1Myw3 ICsxODUzLDcgQEAgdm9pZCBpbnRlbF9kZGlfZmRpX3Bvc3RfZGlzYWJsZShzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKPiAgCXZhbCAmPSB+RkRJX1JYX0VOQUJMRTsKPiAgCUk5 MTVfV1JJVEUoRkRJX1JYX0NUTChQSVBFX0EpLCB2YWwpOwo+ICAKPiAtCWludGVsX2RkaV9wb3N0 X2Rpc2FibGUoaW50ZWxfZW5jb2Rlciwgb2xkX2NydGNfc3RhdGUsIG9sZF9jb25uX3N0YXRlKTsK PiArCWludGVsX2RkaV9wb3N0X2Rpc2FibGUoZW5jb2Rlciwgb2xkX2NydGNfc3RhdGUsIG9sZF9j b25uX3N0YXRlKTsKPiAgCj4gIAl2YWwgPSBJOTE1X1JFQUQoRkRJX1JYX01JU0MoUElQRV9BKSk7 Cj4gIAl2YWwgJj0gfihGRElfUlhfUFdSRE5fTEFORTFfTUFTSyB8IEZESV9SWF9QV1JETl9MQU5F MF9NQVNLKTsKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBD ZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==