From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 2/9] drm/i915: Added port as parameter to the functions which does read/write of DSI Controller Date: Mon, 01 Dec 2014 15:40:39 +0200 Message-ID: <87388zbi94.fsf@intel.com> References: <1417254967-27384-1-git-send-email-gaurav.k.singh@intel.com> <1417254967-27384-3-git-send-email-gaurav.k.singh@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 ESMTP id 5D2936E0E9 for ; Mon, 1 Dec 2014 05:40:56 -0800 (PST) In-Reply-To: <1417254967-27384-3-git-send-email-gaurav.k.singh@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Gaurav K Singh , intel-gfx Cc: Shobhit Kumar List-Id: intel-gfx@lists.freedesktop.org T24gU2F0LCAyOSBOb3YgMjAxNCwgR2F1cmF2IEsgU2luZ2ggPGdhdXJhdi5rLnNpbmdoQGludGVs LmNvbT4gd3JvdGU6Cj4gVGhpcyBwYXRjaCBpcyBpbiBwcmVwYXJhdGlvbiBvZiBEU0kgZHVhbCBs aW5rIHBhbmVscy4gRm9yIGR1YWwgbGluawo+IHBhbmVscywgZmV3IHBhY2tldHMgbmVlZHMgdG8g YmUgc2VudCB0byBQb3J0IEEgb3IgUG9ydCBDIG9yIGJvdGguIEJhc2VkCj4gb24gdGhlIHBvcnRu byBmcm9tIE1JUEkgU2VxdWVuY2UgQmxvY2sjNTMsIHRoZXNlIHNlcXVlbmNlcyBuZWVkcyB0byBi ZQo+IHNlbnQgYWNjb3JkaW5nbHkuCj4KPiBTaWduZWQtb2ZmLWJ5OiBHYXVyYXYgSyBTaW5naCA8 Z2F1cmF2Lmsuc2luZ2hAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kc2lfY21kLmMgICAgICAgfCAgIDc1ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0K PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX2NtZC5oICAgICAgIHwgICA0NiArKysr KysrKystLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfcGFuZWxfdmJ0 LmMgfCAgIDIxICsrKysrLS0tCj4gIDMgZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwg NzAgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHNpX2NtZC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX2NtZC5jCj4gaW5k ZXggMDA0ZmE5MS4uOGUzMDY4NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kc2lfY21kLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfY21k LmMKPiBAQCAtNDgsMTMgKzQ4LDExIEBACj4gICAqIEZvciBtZW1vcnkgd3JpdGVzLCB0aGVzZSBz aG91bGQgcHJvYmFibHkgYmUgdXNlZCBmb3IgcGVyZm9ybWFuY2UuCj4gICAqLwo+ICAKPiAtc3Rh dGljIHZvaWQgcHJpbnRfc3RhdChzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kpCj4gK3N0YXRp YyB2b2lkIHByaW50X3N0YXQoc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCBlbnVtIHBvcnQg cG9ydCkKPiAgewo+ICAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyID0gJmludGVsX2RzaS0+ YmFzZS5iYXNlOwo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmRldjsKPiAg CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4g LQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+ Y3J0Yyk7Cj4gLQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RzaV9waXBlX3RvX3BvcnQoaW50ZWxf Y3J0Yy0+cGlwZSk7Cj4gIAl1MzIgdmFsOwo+ICAKPiAgCXZhbCA9IEk5MTVfUkVBRChNSVBJX0lO VFJfU1RBVChwb3J0KSk7Cj4gQEAgLTEwNCwxMyArMTAyLDEyIEBAIGVudW0gZHNpX3R5cGUgewo+ ICB9Owo+ICAKPiAgLyogZW5hYmxlIG9yIGRpc2FibGUgY29tbWFuZCBtb2RlIGhzIHRyYW5zbWlz c2lvbnMgKi8KPiAtdm9pZCBkc2lfaHNfbW9kZV9lbmFibGUoc3RydWN0IGludGVsX2RzaSAqaW50 ZWxfZHNpLCBib29sIGVuYWJsZSkKPiArdm9pZCBkc2lfaHNfbW9kZV9lbmFibGUoc3RydWN0IGlu dGVsX2RzaSAqaW50ZWxfZHNpLCBib29sIGVuYWJsZSwKPiArCQkJCQkJZW51bSBwb3J0IHBvcnQp Cj4gIHsKPiAgCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciA9ICZpbnRlbF9kc2ktPmJhc2Uu YmFzZTsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5kZXY7Cj4gIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IC0Jc3Ry dWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMp Owo+IC0JZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kc2lfcGlwZV90b19wb3J0KGludGVsX2NydGMt PnBpcGUpOwo+ICAJdTMyIHRlbXA7Cj4gIAl1MzIgbWFzayA9IERCSV9GSUZPX0VNUFRZOwo+ICAK PiBAQCAtMTI1LDEzICsxMjIsMTEgQEAgdm9pZCBkc2lfaHNfbW9kZV9lbmFibGUoc3RydWN0IGlu dGVsX2RzaSAqaW50ZWxfZHNpLCBib29sIGVuYWJsZSkKPiAgfQo+ICAKPiAgc3RhdGljIGludCBk c2lfdmNfc2VuZF9zaG9ydChzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksIGludCBjaGFubmVs LAo+IC0JCQkgICAgIHU4IGRhdGFfdHlwZSwgdTE2IGRhdGEpCj4gKwkJCSAgICAgdTggZGF0YV90 eXBlLCB1MTYgZGF0YSwgZW51bSBwb3J0IHBvcnQpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlciA9ICZpbnRlbF9kc2ktPmJhc2UuYmFzZTsKPiAgCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBlbmNvZGVyLT5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IC0Jc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMg PSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOwo+IC0JZW51bSBwb3J0IHBvcnQgPSBpbnRl bF9kc2lfcGlwZV90b19wb3J0KGludGVsX2NydGMtPnBpcGUpOwo+ICAJdTMyIGN0cmxfcmVnOwo+ ICAJdTMyIGN0cmw7Cj4gIAl1MzIgbWFzazsKPiBAQCAtMTQ5LDcgKzE0NCw3IEBAIHN0YXRpYyBp bnQgZHNpX3ZjX3NlbmRfc2hvcnQoc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCBpbnQgY2hh bm5lbCwKPiAgCj4gIAlpZiAod2FpdF9mb3IoKEk5MTVfUkVBRChNSVBJX0dFTl9GSUZPX1NUQVQo cG9ydCkpICYgbWFzaykgPT0gMCwgNTApKSB7Cj4gIAkJRFJNX0VSUk9SKCJUaW1lb3V0IHdhaXRp bmcgZm9yIEhTL0xQIENUUkwgRklGTyAhZnVsbFxuIik7Cj4gLQkJcHJpbnRfc3RhdChpbnRlbF9k c2kpOwo+ICsJCXByaW50X3N0YXQoaW50ZWxfZHNpLCBwb3J0KTsKPiAgCX0KPiAgCj4gIAkvKgo+ IEBAIC0xNjcsMTMgKzE2MiwxMSBAQCBzdGF0aWMgaW50IGRzaV92Y19zZW5kX3Nob3J0KHN0cnVj dCBpbnRlbF9kc2kgKmludGVsX2RzaSwgaW50IGNoYW5uZWwsCj4gIH0KPiAgCj4gIHN0YXRpYyBp bnQgZHNpX3ZjX3NlbmRfbG9uZyhzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksIGludCBjaGFu bmVsLAo+IC0JCQkgICAgdTggZGF0YV90eXBlLCBjb25zdCB1OCAqZGF0YSwgaW50IGxlbikKPiAr CQl1OCBkYXRhX3R5cGUsIGNvbnN0IHU4ICpkYXRhLCBpbnQgbGVuLCBlbnVtIHBvcnQgcG9ydCkK PiAgewo+ICAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyID0gJmludGVsX2RzaS0+YmFzZS5i YXNlOwo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmRldjsKPiAgCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gLQlzdHJ1 Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+Y3J0Yyk7 Cj4gLQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RzaV9waXBlX3RvX3BvcnQoaW50ZWxfY3J0Yy0+ cGlwZSk7Cj4gIAl1MzIgZGF0YV9yZWc7Cj4gIAlpbnQgaSwgaiwgbjsKPiAgCXUzMiBtYXNrOwo+ IEBAIC0yMDQsMTIgKzE5NywxMiBAQCBzdGF0aWMgaW50IGRzaV92Y19zZW5kX2xvbmcoc3RydWN0 IGludGVsX2RzaSAqaW50ZWxfZHNpLCBpbnQgY2hhbm5lbCwKPiAgCQkgKiBkd29yZHMsIHRoZW4g d2FpdCBmb3Igbm90IHNldCwgdGhlbiBjb250aW51ZS4gKi8KPiAgCX0KPiAgCj4gLQlyZXR1cm4g ZHNpX3ZjX3NlbmRfc2hvcnQoaW50ZWxfZHNpLCBjaGFubmVsLCBkYXRhX3R5cGUsIGxlbik7Cj4g KwlyZXR1cm4gZHNpX3ZjX3NlbmRfc2hvcnQoaW50ZWxfZHNpLCBjaGFubmVsLCBkYXRhX3R5cGUs IGxlbiwgcG9ydCk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgZHNpX3ZjX3dyaXRlX2NvbW1vbihz dHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksCj4gIAkJCSAgICAgICBpbnQgY2hhbm5lbCwgY29u c3QgdTggKmRhdGEsIGludCBsZW4sCj4gLQkJCSAgICAgICBlbnVtIGRzaV90eXBlIHR5cGUpCj4g KwkJCSAgICAgICBlbnVtIGRzaV90eXBlIHR5cGUsIGVudW0gcG9ydCBwb3J0KQo+ICB7Cj4gIAlp bnQgcmV0Owo+ICAKPiBAQCAtMjE3LDUwICsyMTAsNTQgQEAgc3RhdGljIGludCBkc2lfdmNfd3Jp dGVfY29tbW9uKHN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSwKPiAgCQlCVUdfT04odHlwZSA9 PSBEU0lfR0VORVJJQyk7Cj4gIAkJcmV0ID0gZHNpX3ZjX3NlbmRfc2hvcnQoaW50ZWxfZHNpLCBj aGFubmVsLAo+ICAJCQkJCU1JUElfRFNJX0dFTkVSSUNfU0hPUlRfV1JJVEVfMF9QQVJBTSwKPiAt CQkJCQkwKTsKPiArCQkJCQkwLCBwb3J0KTsKPiAgCX0gZWxzZSBpZiAobGVuID09IDEpIHsKPiAg CQlyZXQgPSBkc2lfdmNfc2VuZF9zaG9ydChpbnRlbF9kc2ksIGNoYW5uZWwsCj4gIAkJCQkJdHlw ZSA9PSBEU0lfR0VORVJJQyA/Cj4gIAkJCQkJTUlQSV9EU0lfR0VORVJJQ19TSE9SVF9XUklURV8x X1BBUkFNIDoKPiAtCQkJCQlNSVBJX0RTSV9EQ1NfU0hPUlRfV1JJVEUsIGRhdGFbMF0pOwo+ICsJ CQkJCU1JUElfRFNJX0RDU19TSE9SVF9XUklURSwgZGF0YVswXSwKPiArCQkJCQlwb3J0KTsKPiAg CX0gZWxzZSBpZiAobGVuID09IDIpIHsKPiAgCQlyZXQgPSBkc2lfdmNfc2VuZF9zaG9ydChpbnRl bF9kc2ksIGNoYW5uZWwsCj4gIAkJCQkJdHlwZSA9PSBEU0lfR0VORVJJQyA/Cj4gIAkJCQkJTUlQ SV9EU0lfR0VORVJJQ19TSE9SVF9XUklURV8yX1BBUkFNIDoKPiAgCQkJCQlNSVBJX0RTSV9EQ1Nf U0hPUlRfV1JJVEVfUEFSQU0sCj4gLQkJCQkJKGRhdGFbMV0gPDwgOCkgfCBkYXRhWzBdKTsKPiAr CQkJCQkoZGF0YVsxXSA8PCA4KSB8IGRhdGFbMF0sIHBvcnQpOwo+ICAJfSBlbHNlIHsKPiAgCQly ZXQgPSBkc2lfdmNfc2VuZF9sb25nKGludGVsX2RzaSwgY2hhbm5lbCwKPiAtCQkJCSAgICAgICB0 eXBlID09IERTSV9HRU5FUklDID8KPiAtCQkJCSAgICAgICBNSVBJX0RTSV9HRU5FUklDX0xPTkdf V1JJVEUgOgo+IC0JCQkJICAgICAgIE1JUElfRFNJX0RDU19MT05HX1dSSVRFLCBkYXRhLCBsZW4p Owo+ICsJCQkJCXR5cGUgPT0gRFNJX0dFTkVSSUMgPwo+ICsJCQkJCU1JUElfRFNJX0dFTkVSSUNf TE9OR19XUklURSA6Cj4gKwkJCQkJTUlQSV9EU0lfRENTX0xPTkdfV1JJVEUsIGRhdGEsIGxlbiwK PiArCQkJCQlwb3J0KTsKPiAgCX0KPiAgCj4gIAlyZXR1cm4gcmV0Owo+ICB9Cj4gIAo+ICBpbnQg ZHNpX3ZjX2Rjc193cml0ZShzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksIGludCBjaGFubmVs LAo+IC0JCSAgICAgY29uc3QgdTggKmRhdGEsIGludCBsZW4pCj4gKwkJICAgICBjb25zdCB1OCAq ZGF0YSwgaW50IGxlbiwgZW51bSBwb3J0IHBvcnQpCj4gIHsKPiAtCXJldHVybiBkc2lfdmNfd3Jp dGVfY29tbW9uKGludGVsX2RzaSwgY2hhbm5lbCwgZGF0YSwgbGVuLCBEU0lfRENTKTsKPiArCXJl dHVybiBkc2lfdmNfd3JpdGVfY29tbW9uKGludGVsX2RzaSwgY2hhbm5lbCwgZGF0YSwgbGVuLCBE U0lfRENTLAo+ICsJCQkJCQkJCQlwb3J0KTsKPiAgfQo+ICAKPiAgaW50IGRzaV92Y19nZW5lcmlj X3dyaXRlKHN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSwgaW50IGNoYW5uZWwsCj4gLQkJCSBj b25zdCB1OCAqZGF0YSwgaW50IGxlbikKPiArCQkJIGNvbnN0IHU4ICpkYXRhLCBpbnQgbGVuLCBl bnVtIHBvcnQgcG9ydCkKPiAgewo+IC0JcmV0dXJuIGRzaV92Y193cml0ZV9jb21tb24oaW50ZWxf ZHNpLCBjaGFubmVsLCBkYXRhLCBsZW4sIERTSV9HRU5FUklDKTsKPiArCXJldHVybiBkc2lfdmNf d3JpdGVfY29tbW9uKGludGVsX2RzaSwgY2hhbm5lbCwgZGF0YSwgbGVuLCBEU0lfR0VORVJJQywK PiArCQkJCQkJCQkJcG9ydCk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgZHNpX3ZjX2Rjc19zZW5k X3JlYWRfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksCj4gLQkJCQkJaW50IGNo YW5uZWwsIHU4IGRjc19jbWQpCj4gKwkJCQlpbnQgY2hhbm5lbCwgdTggZGNzX2NtZCwgZW51bSBw b3J0IHBvcnQpCj4gIHsKPiAgCXJldHVybiBkc2lfdmNfc2VuZF9zaG9ydChpbnRlbF9kc2ksIGNo YW5uZWwsIE1JUElfRFNJX0RDU19SRUFELAo+IC0JCQkJIGRjc19jbWQpOwo+ICsJCQkJIGRjc19j bWQsIHBvcnQpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50IGRzaV92Y19nZW5lcmljX3NlbmRfcmVh ZF9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSwKPiAgCQkJCQkgICAgaW50IGNo YW5uZWwsIHU4ICpyZXFkYXRhLAo+IC0JCQkJCSAgICBpbnQgcmVxbGVuKQo+ICsJCQkJCSAgICBp bnQgcmVxbGVuLCBlbnVtIHBvcnQgcG9ydCkKPiAgewo+ICAJdTE2IGRhdGE7Cj4gIAl1OCBkYXRh X3R5cGU7Cj4gQEAgLTI4MiwxNyArMjc5LDE1IEBAIHN0YXRpYyBpbnQgZHNpX3ZjX2dlbmVyaWNf c2VuZF9yZWFkX3JlcXVlc3Qoc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLAo+ICAJCUJVRygp Owo+ICAJfQo+ICAKPiAtCXJldHVybiBkc2lfdmNfc2VuZF9zaG9ydChpbnRlbF9kc2ksIGNoYW5u ZWwsIGRhdGFfdHlwZSwgZGF0YSk7Cj4gKwlyZXR1cm4gZHNpX3ZjX3NlbmRfc2hvcnQoaW50ZWxf ZHNpLCBjaGFubmVsLCBkYXRhX3R5cGUsIGRhdGEsIHBvcnQpOwo+ICB9Cj4gIAo+ICBzdGF0aWMg aW50IGRzaV9yZWFkX2RhdGFfcmV0dXJuKHN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSwKPiAt CQkJCXU4ICpidWYsIGludCBidWZsZW4pCj4gKwkJCQl1OCAqYnVmLCBpbnQgYnVmbGVuLCBlbnVt IHBvcnQgcG9ydCkKPiAgewo+ICAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyID0gJmludGVs X2RzaS0+YmFzZS5iYXNlOwo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmRl djsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZh dGU7Cj4gLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoZW5j b2Rlci0+Y3J0Yyk7Cj4gLQllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RzaV9waXBlX3RvX3BvcnQo aW50ZWxfY3J0Yy0+cGlwZSk7Cj4gIAlpbnQgaSwgbGVuID0gMDsKPiAgCXUzMiBkYXRhX3JlZywg dmFsOwo+ICAKPiBAQCAtMzEyLDEzICszMDcsMTEgQEAgc3RhdGljIGludCBkc2lfcmVhZF9kYXRh X3JldHVybihzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksCj4gIH0KPiAgCj4gIGludCBkc2lf dmNfZGNzX3JlYWQoc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCBpbnQgY2hhbm5lbCwgdTgg ZGNzX2NtZCwKPiAtCQkgICAgdTggKmJ1ZiwgaW50IGJ1ZmxlbikKPiArCQkgICAgdTggKmJ1Ziwg aW50IGJ1ZmxlbiwgZW51bSBwb3J0IHBvcnQpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlciA9ICZpbnRlbF9kc2ktPmJhc2UuYmFzZTsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBlbmNvZGVyLT5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBkZXYtPmRldl9wcml2YXRlOwo+IC0Jc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0 b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOwo+IC0JZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9k c2lfcGlwZV90b19wb3J0KGludGVsX2NydGMtPnBpcGUpOwo+ICAJdTMyIG1hc2s7Cj4gIAlpbnQg cmV0Owo+ICAKPiBAQCAtMzI5LDcgKzMyMiw3IEBAIGludCBkc2lfdmNfZGNzX3JlYWQoc3RydWN0 IGludGVsX2RzaSAqaW50ZWxfZHNpLCBpbnQgY2hhbm5lbCwgdTggZGNzX2NtZCwKPiAgCj4gIAlJ OTE1X1dSSVRFKE1JUElfSU5UUl9TVEFUKHBvcnQpLCBHRU5fUkVBRF9EQVRBX0FWQUlMKTsKPiAg Cj4gLQlyZXQgPSBkc2lfdmNfZGNzX3NlbmRfcmVhZF9yZXF1ZXN0KGludGVsX2RzaSwgY2hhbm5l bCwgZGNzX2NtZCk7Cj4gKwlyZXQgPSBkc2lfdmNfZGNzX3NlbmRfcmVhZF9yZXF1ZXN0KGludGVs X2RzaSwgY2hhbm5lbCwgZGNzX2NtZCwgcG9ydCk7Cj4gIAlpZiAocmV0KQo+ICAJCXJldHVybiBy ZXQ7Cj4gIAo+IEBAIC0zMzcsNyArMzMwLDcgQEAgaW50IGRzaV92Y19kY3NfcmVhZChzdHJ1Y3Qg aW50ZWxfZHNpICppbnRlbF9kc2ksIGludCBjaGFubmVsLCB1OCBkY3NfY21kLAo+ICAJaWYgKHdh aXRfZm9yKChJOTE1X1JFQUQoTUlQSV9JTlRSX1NUQVQocG9ydCkpICYgbWFzaykgPT0gbWFzaywg NTApKQo+ICAJCURSTV9FUlJPUigiVGltZW91dCB3YWl0aW5nIGZvciByZWFkIGRhdGEuXG4iKTsK PiAgCj4gLQlyZXQgPSBkc2lfcmVhZF9kYXRhX3JldHVybihpbnRlbF9kc2ksIGJ1ZiwgYnVmbGVu KTsKPiArCXJldCA9IGRzaV9yZWFkX2RhdGFfcmV0dXJuKGludGVsX2RzaSwgYnVmLCBidWZsZW4s IHBvcnQpOwo+ICAJaWYgKHJldCA8IDApCj4gIAkJcmV0dXJuIHJldDsKPiAgCj4gQEAgLTM0OCwx MyArMzQxLDExIEBAIGludCBkc2lfdmNfZGNzX3JlYWQoc3RydWN0IGludGVsX2RzaSAqaW50ZWxf ZHNpLCBpbnQgY2hhbm5lbCwgdTggZGNzX2NtZCwKPiAgfQo+ICAKPiAgaW50IGRzaV92Y19nZW5l cmljX3JlYWQoc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCBpbnQgY2hhbm5lbCwKPiAtCQkJ dTggKnJlcWRhdGEsIGludCByZXFsZW4sIHU4ICpidWYsIGludCBidWZsZW4pCj4gKwkJdTggKnJl cWRhdGEsIGludCByZXFsZW4sIHU4ICpidWYsIGludCBidWZsZW4sIGVudW0gcG9ydCBwb3J0KQo+ ICB7Cj4gIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIgPSAmaW50ZWxfZHNpLT5iYXNlLmJh c2U7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+ZGV2Owo+ICAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCXN0cnVj dCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhlbmNvZGVyLT5jcnRjKTsK PiAtCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZHNpX3BpcGVfdG9fcG9ydChpbnRlbF9jcnRjLT5w aXBlKTsKPiAgCXUzMiBtYXNrOwo+ICAJaW50IHJldDsKPiAgCj4gQEAgLTM2Niw3ICszNTcsNyBA QCBpbnQgZHNpX3ZjX2dlbmVyaWNfcmVhZChzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksIGlu dCBjaGFubmVsLAo+ICAJSTkxNV9XUklURShNSVBJX0lOVFJfU1RBVChwb3J0KSwgR0VOX1JFQURf REFUQV9BVkFJTCk7Cj4gIAo+ICAJcmV0ID0gZHNpX3ZjX2dlbmVyaWNfc2VuZF9yZWFkX3JlcXVl c3QoaW50ZWxfZHNpLCBjaGFubmVsLCByZXFkYXRhLAo+IC0JCQkJCSAgICAgICByZXFsZW4pOwo+ ICsJCQkJCSAgICAgICByZXFsZW4sIHBvcnQpOwo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0 Owo+ICAKPiBAQCAtMzc0LDcgKzM2NSw3IEBAIGludCBkc2lfdmNfZ2VuZXJpY19yZWFkKHN0cnVj dCBpbnRlbF9kc2kgKmludGVsX2RzaSwgaW50IGNoYW5uZWwsCj4gIAlpZiAod2FpdF9mb3IoKEk5 MTVfUkVBRChNSVBJX0lOVFJfU1RBVChwb3J0KSkgJiBtYXNrKSA9PSBtYXNrLCA1MCkpCj4gIAkJ RFJNX0VSUk9SKCJUaW1lb3V0IHdhaXRpbmcgZm9yIHJlYWQgZGF0YS5cbiIpOwo+ICAKPiAtCXJl dCA9IGRzaV9yZWFkX2RhdGFfcmV0dXJuKGludGVsX2RzaSwgYnVmLCBidWZsZW4pOwo+ICsJcmV0 ID0gZHNpX3JlYWRfZGF0YV9yZXR1cm4oaW50ZWxfZHNpLCBidWYsIGJ1ZmxlbiwgcG9ydCk7Cj4g IAlpZiAocmV0IDwgMCkKPiAgCQlyZXR1cm4gcmV0Owo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX2NtZC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHNpX2NtZC5oCj4gaW5kZXggNDZhYTFhYy4uMzI2YTVhYyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfY21kLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kc2lfY21kLmgKPiBAQCAtMzYsNzcgKzM2LDgxIEBACj4gICNkZWZpbmUgRFBJ X0xQX01PREVfRU4JZmFsc2UKPiAgI2RlZmluZSBEUElfSFNfTU9ERV9FTgl0cnVlCj4gIAo+IC12 b2lkIGRzaV9oc19tb2RlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksIGJvb2wg ZW5hYmxlKTsKPiArdm9pZCBkc2lfaHNfbW9kZV9lbmFibGUoc3RydWN0IGludGVsX2RzaSAqaW50 ZWxfZHNpLCBib29sIGVuYWJsZSwKPiArCQkJCQkJZW51bSBwb3J0IHBvcnQpOwo+ICAKPiAgaW50 IGRzaV92Y19kY3Nfd3JpdGUoc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCBpbnQgY2hhbm5l bCwKPiAtCQkgICAgIGNvbnN0IHU4ICpkYXRhLCBpbnQgbGVuKTsKPiArCQkgICAgIGNvbnN0IHU4 ICpkYXRhLCBpbnQgbGVuLCBlbnVtIHBvcnQgcG9ydCk7Cj4gIAo+ICBpbnQgZHNpX3ZjX2dlbmVy aWNfd3JpdGUoc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCBpbnQgY2hhbm5lbCwKPiAtCQkJ IGNvbnN0IHU4ICpkYXRhLCBpbnQgbGVuKTsKPiArCQkJIGNvbnN0IHU4ICpkYXRhLCBpbnQgbGVu LCBlbnVtIHBvcnQgcG9ydCk7Cj4gIAo+ICBpbnQgZHNpX3ZjX2Rjc19yZWFkKHN0cnVjdCBpbnRl bF9kc2kgKmludGVsX2RzaSwgaW50IGNoYW5uZWwsIHU4IGRjc19jbWQsCj4gLQkJICAgIHU4ICpi dWYsIGludCBidWZsZW4pOwo+ICsJCSAgICB1OCAqYnVmLCBpbnQgYnVmbGVuLCBlbnVtIHBvcnQg cG9ydCk7Cj4gIAo+ICBpbnQgZHNpX3ZjX2dlbmVyaWNfcmVhZChzdHJ1Y3QgaW50ZWxfZHNpICpp bnRlbF9kc2ksIGludCBjaGFubmVsLAo+IC0JCQl1OCAqcmVxZGF0YSwgaW50IHJlcWxlbiwgdTgg KmJ1ZiwgaW50IGJ1Zmxlbik7Cj4gKwkJdTggKnJlcWRhdGEsIGludCByZXFsZW4sIHU4ICpidWYs IGludCBidWZsZW4sIGVudW0gcG9ydCBwb3J0KTsKPiAgCj4gIGludCBkcGlfc2VuZF9jbWQoc3Ry dWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCB1MzIgY21kLCBib29sIGhzKTsKPiAgdm9pZCB3YWl0 X2Zvcl9kc2lfZmlmb19lbXB0eShzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kpOwo+ICAKPiAg LyogWFhYOiBxdWVzdGlvbmFibGUgd3JpdGUgaGVscGVycyAqLwo+ICBzdGF0aWMgaW5saW5lIGlu dCBkc2lfdmNfZGNzX3dyaXRlXzAoc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLAo+IC0JCQkJ ICAgICBpbnQgY2hhbm5lbCwgdTggZGNzX2NtZCkKPiArCQkJCSAgICAgaW50IGNoYW5uZWwsIHU4 IGRjc19jbWQsIGVudW0gcG9ydCBwb3J0KQo+ICB7Cj4gLQlyZXR1cm4gZHNpX3ZjX2Rjc193cml0 ZShpbnRlbF9kc2ksIGNoYW5uZWwsICZkY3NfY21kLCAxKTsKPiArCXJldHVybiBkc2lfdmNfZGNz X3dyaXRlKGludGVsX2RzaSwgY2hhbm5lbCwgJmRjc19jbWQsIDEsIHBvcnQpOwo+ICB9Cj4gIAo+ ICBzdGF0aWMgaW5saW5lIGludCBkc2lfdmNfZGNzX3dyaXRlXzEoc3RydWN0IGludGVsX2RzaSAq aW50ZWxfZHNpLAo+IC0JCQkJICAgICBpbnQgY2hhbm5lbCwgdTggZGNzX2NtZCwgdTggcGFyYW0p Cj4gKwkJCWludCBjaGFubmVsLCB1OCBkY3NfY21kLCB1OCBwYXJhbSwgZW51bSBwb3J0IHBvcnQp Cj4gIHsKPiAgCXU4IGJ1ZlsyXSA9IHsgZGNzX2NtZCwgcGFyYW0gfTsKPiAtCXJldHVybiBkc2lf dmNfZGNzX3dyaXRlKGludGVsX2RzaSwgY2hhbm5lbCwgYnVmLCAyKTsKPiArCXJldHVybiBkc2lf dmNfZGNzX3dyaXRlKGludGVsX2RzaSwgY2hhbm5lbCwgYnVmLCAyLCBwb3J0KTsKPiAgfQo+ICAK PiAgc3RhdGljIGlubGluZSBpbnQgZHNpX3ZjX2dlbmVyaWNfd3JpdGVfMChzdHJ1Y3QgaW50ZWxf ZHNpICppbnRlbF9kc2ksCj4gLQkJCQkJIGludCBjaGFubmVsKQo+ICsJCQkJCSBpbnQgY2hhbm5l bCwgZW51bSBwb3J0IHBvcnQpCj4gIHsKPiAtCXJldHVybiBkc2lfdmNfZ2VuZXJpY193cml0ZShp bnRlbF9kc2ksIGNoYW5uZWwsIE5VTEwsIDApOwo+ICsJcmV0dXJuIGRzaV92Y19nZW5lcmljX3dy aXRlKGludGVsX2RzaSwgY2hhbm5lbCwgTlVMTCwgMCwgcG9ydCk7Cj4gIH0KPiAgCj4gIHN0YXRp YyBpbmxpbmUgaW50IGRzaV92Y19nZW5lcmljX3dyaXRlXzEoc3RydWN0IGludGVsX2RzaSAqaW50 ZWxfZHNpLAo+IC0JCQkJCSBpbnQgY2hhbm5lbCwgdTggcGFyYW0pCj4gKwkJCQkJIGludCBjaGFu bmVsLCB1OCBwYXJhbSwgZW51bSBwb3J0IHBvcnQpCj4gIHsKPiAtCXJldHVybiBkc2lfdmNfZ2Vu ZXJpY193cml0ZShpbnRlbF9kc2ksIGNoYW5uZWwsICZwYXJhbSwgMSk7Cj4gKwlyZXR1cm4gZHNp X3ZjX2dlbmVyaWNfd3JpdGUoaW50ZWxfZHNpLCBjaGFubmVsLCAmcGFyYW0sIDEsIHBvcnQpOwo+ ICB9Cj4gIAo+ICBzdGF0aWMgaW5saW5lIGludCBkc2lfdmNfZ2VuZXJpY193cml0ZV8yKHN0cnVj dCBpbnRlbF9kc2kgKmludGVsX2RzaSwKPiAtCQkJCQkgaW50IGNoYW5uZWwsIHU4IHBhcmFtMSwg dTggcGFyYW0yKQo+ICsJCQlpbnQgY2hhbm5lbCwgdTggcGFyYW0xLCB1OCBwYXJhbTIsIGVudW0g cG9ydCBwb3J0KQo+ICB7Cj4gIAl1OCBidWZbMl0gPSB7IHBhcmFtMSwgcGFyYW0yIH07Cj4gLQly ZXR1cm4gZHNpX3ZjX2dlbmVyaWNfd3JpdGUoaW50ZWxfZHNpLCBjaGFubmVsLCBidWYsIDIpOwo+ ICsJcmV0dXJuIGRzaV92Y19nZW5lcmljX3dyaXRlKGludGVsX2RzaSwgY2hhbm5lbCwgYnVmLCAy LCBwb3J0KTsKPiAgfQo+ICAKPiAgLyogWFhYOiBxdWVzdGlvbmFibGUgcmVhZCBoZWxwZXJzICov Cj4gIHN0YXRpYyBpbmxpbmUgaW50IGRzaV92Y19nZW5lcmljX3JlYWRfMChzdHJ1Y3QgaW50ZWxf ZHNpICppbnRlbF9kc2ksCj4gLQkJCQkJaW50IGNoYW5uZWwsIHU4ICpidWYsIGludCBidWZsZW4p Cj4gKwkJCWludCBjaGFubmVsLCB1OCAqYnVmLCBpbnQgYnVmbGVuLCBlbnVtIHBvcnQgcG9ydCkK PiAgewo+IC0JcmV0dXJuIGRzaV92Y19nZW5lcmljX3JlYWQoaW50ZWxfZHNpLCBjaGFubmVsLCBO VUxMLCAwLCBidWYsIGJ1Zmxlbik7Cj4gKwlyZXR1cm4gZHNpX3ZjX2dlbmVyaWNfcmVhZChpbnRl bF9kc2ksIGNoYW5uZWwsIE5VTEwsIDAsIGJ1ZiwgYnVmbGVuLAo+ICsJCQkJCQkJCQlwb3J0KTsK PiAgfQo+ICAKPiAgc3RhdGljIGlubGluZSBpbnQgZHNpX3ZjX2dlbmVyaWNfcmVhZF8xKHN0cnVj dCBpbnRlbF9kc2kgKmludGVsX2RzaSwKPiAgCQkJCQlpbnQgY2hhbm5lbCwgdTggcGFyYW0sIHU4 ICpidWYsCj4gLQkJCQkJaW50IGJ1ZmxlbikKPiArCQkJCQlpbnQgYnVmbGVuLCBlbnVtIHBvcnQg cG9ydCkKPiAgewo+IC0JcmV0dXJuIGRzaV92Y19nZW5lcmljX3JlYWQoaW50ZWxfZHNpLCBjaGFu bmVsLCAmcGFyYW0sIDEsIGJ1ZiwgYnVmbGVuKTsKPiArCXJldHVybiBkc2lfdmNfZ2VuZXJpY19y ZWFkKGludGVsX2RzaSwgY2hhbm5lbCwgJnBhcmFtLCAxLCBidWYsIGJ1ZmxlbiwKPiArCQkJCQkJ CQkJcG9ydCk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbmxpbmUgaW50IGRzaV92Y19nZW5lcmljX3Jl YWRfMihzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksCj4gIAkJCQkJaW50IGNoYW5uZWwsIHU4 IHBhcmFtMSwgdTggcGFyYW0yLAo+IC0JCQkJCXU4ICpidWYsIGludCBidWZsZW4pCj4gKwkJCQkJ dTggKmJ1ZiwgaW50IGJ1ZmxlbiwgZW51bSBwb3J0IHBvcnQpCj4gIHsKPiAgCXU4IHJlcVsyXSA9 IHsgcGFyYW0xLCBwYXJhbTIgfTsKPiAgCj4gLQlyZXR1cm4gZHNpX3ZjX2dlbmVyaWNfcmVhZChp bnRlbF9kc2ksIGNoYW5uZWwsIHJlcSwgMiwgYnVmLCBidWZsZW4pOwo+ICsJcmV0dXJuIGRzaV92 Y19nZW5lcmljX3JlYWQoaW50ZWxfZHNpLCBjaGFubmVsLCByZXEsIDIsIGJ1ZiwgYnVmbGVuLAo+ ICsJCQkJCQkJCQlwb3J0KTsKPiAgfQo+ICAKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RzaV9wYW5lbF92YnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RzaV9wYW5lbF92YnQuYwo+IGluZGV4IGY2YmRkNDQuLjYxMjU5MmYgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BhbmVsX3ZidC5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BhbmVsX3ZidC5jCj4gQEAgLTk0LDE2ICs5NCwy MyBAQCBzdGF0aWMgc3RydWN0IGdwaW9fdGFibGUgZ3RhYmxlW10gPSB7Cj4gIAl7IEdQSU9fTkNf MTFfUENPTkYwLCBHUElPX05DXzExX1BBRCwgMH0KPiAgfTsKPiAgCj4gK3N0YXRpYyBpbmxpbmUg ZW51bSBwb3J0IGludGVsX2RzaV9zZXFfcG9ydF90b19wb3J0KHU4IHBvcnQpCj4gK3sKPiArCXJl dHVybiBwb3J0ID8gUE9SVF9DIDogUE9SVF9BOwo+ICt9Cj4gKwo+ICBzdGF0aWMgdTggKm1pcGlf ZXhlY19zZW5kX3BhY2tldChzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksIHU4ICpkYXRhKQo+ ICB7Cj4gIAl1OCB0eXBlLCBieXRlLCBtb2RlLCB2YywgcG9ydDsKClBsZWFzZSByZW5hbWUgdGhp cyBwb3J0IHRvIHNlcV9wb3J0IG9yIHdoYXRldmVyIGRlc2NyaWJlcyBpdCBiZXN0LgoKPiAgCXUx NiBsZW47Cj4gKwllbnVtIHBvcnQgcG9ydF9ubzsKCkFuZCByZW5hbWUgdGhpcyB0byBwb3J0LCBz byAicG9ydCIgcmVhbGx5IG1lYW5zIHRoZSBodyBwb3J0IGFsbCBhcm91bmQKdGhlIGRyaXZlci4K Cj4gIAlieXRlID0gKmRhdGErKzsKPiAgCW1vZGUgPSAoYnl0ZSA+PiBNSVBJX1RSQU5TRkVSX01P REVfU0hJRlQpICYgMHgxOwo+ICAJdmMgPSAoYnl0ZSA+PiBNSVBJX1ZJUlRVQUxfQ0hBTk5FTF9T SElGVCkgJiAweDM7Cj4gIAlwb3J0ID0gKGJ5dGUgPj4gTUlQSV9QT1JUX1NISUZUKSAmIDB4MzsK PiAgCj4gKwlwb3J0X25vID0gaW50ZWxfZHNpX3NlcV9wb3J0X3RvX3BvcnQocG9ydCk7Cj4gIAkv KiBMUCBvciBIUyBtb2RlICovCj4gIAlpbnRlbF9kc2ktPmhzID0gbW9kZTsKPiAgCj4gQEAgLTEx NSwxMyArMTIyLDEzIEBAIHN0YXRpYyB1OCAqbWlwaV9leGVjX3NlbmRfcGFja2V0KHN0cnVjdCBp bnRlbF9kc2kgKmludGVsX2RzaSwgdTggKmRhdGEpCj4gIAo+ICAJc3dpdGNoICh0eXBlKSB7Cj4g IAljYXNlIE1JUElfRFNJX0dFTkVSSUNfU0hPUlRfV1JJVEVfMF9QQVJBTToKPiAtCQlkc2lfdmNf Z2VuZXJpY193cml0ZV8wKGludGVsX2RzaSwgdmMpOwo+ICsJCWRzaV92Y19nZW5lcmljX3dyaXRl XzAoaW50ZWxfZHNpLCB2YywgcG9ydCk7CgpBbmQgb25jZSB5b3UndmUgbWFkZSB0aGUgcmVuYW1l cyBhYm92ZSwgdGhpcyBhbmQgdGhlIGNhbGxzIGJlbG93IHdpbGwKYWN0dWFsbHkgdXNlIHRoZSBj b3JyZWN0IHBvcnQhCgpCUiwKSmFuaS4KCj4gIAkJYnJlYWs7Cj4gIAljYXNlIE1JUElfRFNJX0dF TkVSSUNfU0hPUlRfV1JJVEVfMV9QQVJBTToKPiAtCQlkc2lfdmNfZ2VuZXJpY193cml0ZV8xKGlu dGVsX2RzaSwgdmMsICpkYXRhKTsKPiArCQlkc2lfdmNfZ2VuZXJpY193cml0ZV8xKGludGVsX2Rz aSwgdmMsICpkYXRhLCBwb3J0KTsKPiAgCQlicmVhazsKPiAgCWNhc2UgTUlQSV9EU0lfR0VORVJJ Q19TSE9SVF9XUklURV8yX1BBUkFNOgo+IC0JCWRzaV92Y19nZW5lcmljX3dyaXRlXzIoaW50ZWxf ZHNpLCB2YywgKmRhdGEsICooZGF0YSArIDEpKTsKPiArCQlkc2lfdmNfZ2VuZXJpY193cml0ZV8y KGludGVsX2RzaSwgdmMsICpkYXRhLCAqKGRhdGEgKyAxKSwgcG9ydCk7Cj4gIAkJYnJlYWs7Cj4g IAljYXNlIE1JUElfRFNJX0dFTkVSSUNfUkVBRF9SRVFVRVNUXzBfUEFSQU06Cj4gIAljYXNlIE1J UElfRFNJX0dFTkVSSUNfUkVBRF9SRVFVRVNUXzFfUEFSQU06Cj4gQEAgLTEyOSwxOSArMTM2LDE5 IEBAIHN0YXRpYyB1OCAqbWlwaV9leGVjX3NlbmRfcGFja2V0KHN0cnVjdCBpbnRlbF9kc2kgKmlu dGVsX2RzaSwgdTggKmRhdGEpCj4gIAkJRFJNX0RFQlVHX0RSSVZFUigiR2VuZXJpYyBSZWFkIG5v dCB5ZXQgaW1wbGVtZW50ZWQgb3IgdXNlZFxuIik7Cj4gIAkJYnJlYWs7Cj4gIAljYXNlIE1JUElf RFNJX0dFTkVSSUNfTE9OR19XUklURToKPiAtCQlkc2lfdmNfZ2VuZXJpY193cml0ZShpbnRlbF9k c2ksIHZjLCBkYXRhLCBsZW4pOwo+ICsJCWRzaV92Y19nZW5lcmljX3dyaXRlKGludGVsX2RzaSwg dmMsIGRhdGEsIGxlbiwgcG9ydCk7Cj4gIAkJYnJlYWs7Cj4gIAljYXNlIE1JUElfRFNJX0RDU19T SE9SVF9XUklURToKPiAtCQlkc2lfdmNfZGNzX3dyaXRlXzAoaW50ZWxfZHNpLCB2YywgKmRhdGEp Owo+ICsJCWRzaV92Y19kY3Nfd3JpdGVfMChpbnRlbF9kc2ksIHZjLCAqZGF0YSwgcG9ydCk7Cj4g IAkJYnJlYWs7Cj4gIAljYXNlIE1JUElfRFNJX0RDU19TSE9SVF9XUklURV9QQVJBTToKPiAtCQlk c2lfdmNfZGNzX3dyaXRlXzEoaW50ZWxfZHNpLCB2YywgKmRhdGEsICooZGF0YSArIDEpKTsKPiAr CQlkc2lfdmNfZGNzX3dyaXRlXzEoaW50ZWxfZHNpLCB2YywgKmRhdGEsICooZGF0YSArIDEpLCBw b3J0KTsKPiAgCQlicmVhazsKPiAgCWNhc2UgTUlQSV9EU0lfRENTX1JFQUQ6Cj4gIAkJRFJNX0RF QlVHX0RSSVZFUigiRENTIFJlYWQgbm90IHlldCBpbXBsZW1lbnRlZCBvciB1c2VkXG4iKTsKPiAg CQlicmVhazsKPiAgCWNhc2UgTUlQSV9EU0lfRENTX0xPTkdfV1JJVEU6Cj4gLQkJZHNpX3ZjX2Rj c193cml0ZShpbnRlbF9kc2ksIHZjLCBkYXRhLCBsZW4pOwo+ICsJCWRzaV92Y19kY3Nfd3JpdGUo aW50ZWxfZHNpLCB2YywgZGF0YSwgbGVuLCBwb3J0KTsKPiAgCQlicmVhazsKPiAgCX0KPiAgCj4g LS0gCj4gMS43LjkuNQo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9n eSBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK