From mboxrd@z Thu Jan 1 00:00:00 1970 From: Akash Goel Subject: Re: [PATCH 4/4] drm/i915: Changed the return type from 'void', so as to return an error Date: Sun, 04 May 2014 14:54:45 +0530 Message-ID: <1399195485.22943.1.camel@akashgoe-desktop> References: <1397990658-24812-1-git-send-email-akash.goel@intel.com> <1397991168-25045-1-git-send-email-akash.goel@intel.com> <20140429133339.GE18465@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 2BD946E427 for ; Sun, 4 May 2014 02:22:18 -0700 (PDT) In-Reply-To: <20140429133339.GE18465@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?ISO-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAyMDE0LTA0LTI5IGF0IDE2OjMzICswMzAwLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6 Cj4gT24gU3VuLCBBcHIgMjAsIDIwMTQgYXQgMDQ6MjI6NDhQTSArMDUzMCwgYWthc2guZ29lbEBp bnRlbC5jb20gd3JvdGU6Cj4gPiBGcm9tOiBBa2FzaCBHb2VsIDxha2FzaC5nb2VsQGludGVsLmNv bT4KPiA+IAo+ID4gVGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSByZXR1cm4gdHlwZSBvZiBwYW5lbCBm aXR0ZXIgY29uZmlndXJhdGlvbgo+ID4gZnVuY3Rpb25zIGZyb20gJ3ZvaWQnLCBzbyB0aGF0IGFu IGVycm9yIGNvdWxkIGJlIHJldHVybmVkIGJhY2sgdG8KPiA+IFVzZXIgc3BhY2UsIGVpdGhlciBk dXJpbmcgdGhlIG1vZGVzZXQgdGltZSBvciB3aGVuIHRoZSAnYm9yZGVyJyBwcm9wZXJ0eQo+ID4g aXMgYmVpbmcgc2V0LCBpZiB0aGUgY29uZmlndWF0aW9uIGlzIG5vdCB2YWxpZC4KPiA+IFRoaXMg YWRkcmVzc2VzIHRoZSByZXZpZXcgY29tbWVudCBmcm9tIFZpbGxlLCBnaXZlbiBvbiB0aGUgcHJl dmlvdXMgcGF0Y2guCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IEFrYXNoIEdvZWwgPGFrYXNoLmdv ZWxAaW50ZWwuY29tPgo+IAo+IFBsZWFzZSByZW9yZGVyIHRoZSBwYXRjaGVzIHNvIHRoYXQgdGhp cyBwYXRjaCBjb21lcyBiZWZvcmUgeW91IGFkZCB0aGUKPiBtYW51YWwgcGFuZWwgZml0dGluZyBz dHVmZi4gT3RoZXJ3aXNlIGl0J3MgaGFyZCB0byBldmFsdWF0ZSB0aGUgZXJyb3IKPiBwYXRocyBp biB0aGUgbmV3IGNvZGUuCj4gCgpGaW5lLCB3aWxsIHJlb3JkZXIgdGhlIHBhdGNoIHNlcXVlbmNl IHNvIHRoYXQgdGhpcyBmaXJzdCBjb21lcyBmaXJzdC4KCkJlc3QgUmVnYXJkcwpBa2FzaAoKCgo+ ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgIDUgKysr LS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICAgfCAxNSArKysrKysr KystLS0tLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgNiAr KystLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgICAgfCAxMSArKysr KystLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgICB8IDI4ICsr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0KPiA+ICA1IGZpbGVzIGNoYW5nZWQsIDM3IGluc2Vy dGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCj4gPiBpbmRleCA4ZmY5OWJmLi5kNzMwM2JlIDEwMDY0NAo+ID4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+IEBAIC0xMDAxOCw5ICsxMDAxOCwxMCBAQCBzdGF0 aWMgaW50IGludGVsX3NldF9tb2RlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiA+ICAJcmV0dXJu IHJldDsKPiA+ICB9Cj4gPiAgCj4gPiAtdm9pZCBpbnRlbF9jcnRjX3Jlc3RvcmVfbW9kZShzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCj4gPiAraW50IGludGVsX2NydGNfcmVzdG9yZV9tb2RlKHN0cnVj dCBkcm1fY3J0YyAqY3J0YykKPiA+ICB7Cj4gPiAtCWludGVsX3NldF9tb2RlKGNydGMsICZjcnRj LT5tb2RlLCBjcnRjLT54LCBjcnRjLT55LCBjcnRjLT5wcmltYXJ5LT5mYik7Cj4gPiArCXJldHVy biBpbnRlbF9zZXRfbW9kZShjcnRjLCAmY3J0Yy0+bW9kZSwgY3J0Yy0+eCwgY3J0Yy0+eSwKPiA+ ICsJCQkJCQljcnRjLT5wcmltYXJ5LT5mYik7Cj4gPiAgfQo+ID4gIAo+ID4gICN1bmRlZiBmb3Jf ZWFjaF9pbnRlbF9jcnRjX21hc2tlZAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiBpbmRl eCBiNTBiMTcwLi5hZDEwOGUyIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4g QEAgLTc3OCwxMiArNzc4LDE1IEBAIGludGVsX2RwX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyLAo+ID4gIAlpZiAoaXNfZWRwKGludGVsX2RwKSAmJiBpbnRlbF9j b25uZWN0b3ItPnBhbmVsLmZpeGVkX21vZGUpIHsKPiA+ICAJCWludGVsX2ZpeGVkX3BhbmVsX21v ZGUoaW50ZWxfY29ubmVjdG9yLT5wYW5lbC5maXhlZF9tb2RlLAo+ID4gIAkJCQkgICAgICAgYWRq dXN0ZWRfbW9kZSk7Cj4gPiAtCQlpZiAoIUhBU19QQ0hfU1BMSVQoZGV2KSkKPiA+IC0JCQlpbnRl bF9nbWNoX3BhbmVsX2ZpdHRpbmcoaW50ZWxfY3J0YywgcGlwZV9jb25maWcsCj4gPiAtCQkJCQkJ IGludGVsX2Nvbm5lY3Rvci0+cGFuZWwuZml0dGluZ19tb2RlKTsKPiA+IC0JCWVsc2UKPiA+IC0J CQlpbnRlbF9wY2hfcGFuZWxfZml0dGluZyhpbnRlbF9jcnRjLCBwaXBlX2NvbmZpZywKPiA+IC0J CQkJCQlpbnRlbF9jb25uZWN0b3ItPnBhbmVsLmZpdHRpbmdfbW9kZSk7Cj4gPiArCQlpZiAoIUhB U19QQ0hfU1BMSVQoZGV2KSkgewo+ID4gKwkJCWlmICghaW50ZWxfZ21jaF9wYW5lbF9maXR0aW5n KGludGVsX2NydGMsIHBpcGVfY29uZmlnLAo+ID4gKwkJCQkJCSBpbnRlbF9jb25uZWN0b3ItPnBh bmVsLmZpdHRpbmdfbW9kZSkpCj4gPiArCQkJCXJldHVybiBmYWxzZTsKPiA+ICsJCX0gZWxzZSB7 Cj4gPiArCQkJaWYgKCFpbnRlbF9wY2hfcGFuZWxfZml0dGluZyhpbnRlbF9jcnRjLCBwaXBlX2Nv bmZpZywKPiA+ICsJCQkJCQkgaW50ZWxfY29ubmVjdG9yLT5wYW5lbC5maXR0aW5nX21vZGUpKQo+ ID4gKwkJCQlyZXR1cm4gZmFsc2U7Cj4gPiArCQl9Cj4gPiAgCX0KPiA+ICAKPiA+ICAJaWYgKGFk anVzdGVkX21vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19EQkxDTEspCj4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAo+ID4gaW5kZXggZjAwZDA3NS4uYmVkNDk0MSAxMDA2NDQKPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gQEAgLTcwNCw3ICs3MDQsNyBAQCB2b2lkIGludGVsX21h cmtfYnVzeShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+ICB2b2lkIGludGVsX21hcmtfZmJf YnVzeShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ID4gIAkJCXN0cnVjdCBpbnRl bF9yaW5nX2J1ZmZlciAqcmluZyk7Cj4gPiAgdm9pZCBpbnRlbF9tYXJrX2lkbGUoc3RydWN0IGRy bV9kZXZpY2UgKmRldik7Cj4gPiAtdm9pZCBpbnRlbF9jcnRjX3Jlc3RvcmVfbW9kZShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpOwo+ID4gK2ludCBpbnRlbF9jcnRjX3Jlc3RvcmVfbW9kZShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpOwo+ID4gIHZvaWQgaW50ZWxfY3J0Y191cGRhdGVfZHBtcyhzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpOwo+ID4gIHZvaWQgaW50ZWxfZW5jb2Rlcl9kZXN0cm95KHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2Rlcik7Cj4gPiAgdm9pZCBpbnRlbF9jb25uZWN0b3JfZHBtcyhzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqLCBpbnQgbW9kZSk7Cj4gPiBAQCAtODg4LDEwICs4ODgsMTAgQEAg aW50IGludGVsX3BhbmVsX2luaXQoc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCwKPiA+ICB2b2lk IGludGVsX3BhbmVsX2Zpbmkoc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCk7Cj4gPiAgdm9pZCBp bnRlbF9maXhlZF9wYW5lbF9tb2RlKGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpmaXhl ZF9tb2RlLAo+ID4gIAkJCSAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9k ZSk7Cj4gPiAtdm9pZCBpbnRlbF9wY2hfcGFuZWxfZml0dGluZyhzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YywKPiA+ICtib29sIGludGVsX3BjaF9wYW5lbF9maXR0aW5nKHN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjLAo+ID4gIAkJCSAgICAgc3RydWN0IGludGVsX2NydGNfY29uZmlnICpwaXBlX2NvbmZp ZywKPiA+ICAJCQkgICAgIGludCBmaXR0aW5nX21vZGUpOwo+ID4gLXZvaWQgaW50ZWxfZ21jaF9w YW5lbF9maXR0aW5nKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ID4gK2Jvb2wgaW50ZWxfZ21j aF9wYW5lbF9maXR0aW5nKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ID4gIAkJCSAgICAgIHN0 cnVjdCBpbnRlbF9jcnRjX2NvbmZpZyAqcGlwZV9jb25maWcsCj4gPiAgCQkJICAgICAgaW50IGZp dHRpbmdfbW9kZSk7Cj4gPiAgdm9pZCBpbnRlbF9wYW5lbF9zZXRfYmFja2xpZ2h0KHN0cnVjdCBp bnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgdTMyIGxldmVsLAo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2x2ZHMuYwo+ID4gaW5kZXggMWIxNTQxZC4uZTBlZjc5ZCAxMDA2NDQKPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHZkcy5jCj4gPiBAQCAtMzA3LDEyICszMDcsMTMgQEAgc3RhdGljIGJvb2wg aW50ZWxfbHZkc19jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5j b2RlciwKPiA+ICAJaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewo+ID4gIAkJcGlwZV9jb25maWct Pmhhc19wY2hfZW5jb2RlciA9IHRydWU7Cj4gPiAgCj4gPiAtCQlpbnRlbF9wY2hfcGFuZWxfZml0 dGluZyhpbnRlbF9jcnRjLCBwaXBlX2NvbmZpZywKPiA+IC0JCQkJCWludGVsX2Nvbm5lY3Rvci0+ cGFuZWwuZml0dGluZ19tb2RlKTsKPiA+ICsJCWlmICghaW50ZWxfcGNoX3BhbmVsX2ZpdHRpbmco aW50ZWxfY3J0YywgcGlwZV9jb25maWcsCj4gPiArCQkJCQlpbnRlbF9jb25uZWN0b3ItPnBhbmVs LmZpdHRpbmdfbW9kZSkpCj4gPiArCQkJcmV0dXJuIGZhbHNlOwo+ID4gIAl9IGVsc2Ugewo+ID4g LQkJaW50ZWxfZ21jaF9wYW5lbF9maXR0aW5nKGludGVsX2NydGMsIHBpcGVfY29uZmlnLAo+ID4g LQkJCQkJIGludGVsX2Nvbm5lY3Rvci0+cGFuZWwuZml0dGluZ19tb2RlKTsKPiA+IC0KPiA+ICsJ CWlmICghaW50ZWxfZ21jaF9wYW5lbF9maXR0aW5nKGludGVsX2NydGMsIHBpcGVfY29uZmlnLAo+ ID4gKwkJCQkJaW50ZWxfY29ubmVjdG9yLT5wYW5lbC5maXR0aW5nX21vZGUpKQo+ID4gKwkJCXJl dHVybiBmYWxzZTsKPiA+ICAJfQo+ID4gIAo+ID4gIAkvKgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wYW5lbC5jCj4gPiBpbmRleCAzZGJiNzc0Li43NDhjOThjIDEwMDY0NAo+ID4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcGFuZWwuYwo+ID4gQEAgLTU3LDcgKzU3LDcgQEAgaW50ZWxfZml4ZWRfcGFu ZWxfbW9kZShjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZml4ZWRfbW9kZSwKPiA+ICAJ ZHJtX21vZGVfc2V0X2NydGNpbmZvKGFkanVzdGVkX21vZGUsIDApOwo+ID4gIH0KPiA+ICAKPiA+ IC12b2lkCj4gPiArYm9vbAo+ID4gIGludGVsX3BjaF9tYW51YWxfcGFuZWxfZml0dGluZyhzdHJ1 Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiA+ICAJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19jb25m aWcgKnBpcGVfY29uZmlnKQo+ID4gIHsKPiA+IEBAIC04OSw3ICs4OSw3IEBAIGludGVsX3BjaF9t YW51YWxfcGFuZWxfZml0dGluZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiA+ICAK PiA+ICAJaWYgKChkc3Rfd2lkdGggPT0gMCkgfHwgKGRzdF9oZWlnaHQgPT0gMCkpIHsKPiA+ICAJ CURSTV9FUlJPUigiSW52YWxpZCBib3JkZXIgc2l6ZSBpbnB1dFxuIik7Cj4gPiAtCQlyZXR1cm47 Cj4gPiArCQlyZXR1cm4gZmFsc2U7Cj4gPiAgCX0KPiA+ICAKPiA+ICAJcGZfaG9yaXpvbnRhbF9y YXRpbyA9IHBhbmVsX2ZpdHRlcl9zY2FsaW5nKHNyY193aWR0aCwgZHN0X3dpZHRoKTsKPiA+IEBA IC05NywxMCArOTcsMTAgQEAgaW50ZWxfcGNoX21hbnVhbF9wYW5lbF9maXR0aW5nKHN0cnVjdCBp bnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ID4gIAo+ID4gIAlpZiAocGZfaG9yaXpvbnRhbF9yYXRp byA+IE1BWF9ET1dOU0NBTEVfUkFUSU8pIHsKPiA+ICAJCURSTV9FUlJPUigid2lkdGggaXMgdG9v IHNtYWxsXG4iKTsKPiA+IC0JCXJldHVybjsKPiA+ICsJCXJldHVybiBmYWxzZTsKPiA+ICAJfSBl bHNlIGlmIChwZl92ZXJ0aWNhbF9yYXRpbyA+IE1BWF9ET1dOU0NBTEVfUkFUSU8pIHsKPiA+ICAJ CURSTV9FUlJPUigiaGVpZ2h0IGlzIHRvbyBzbWFsbFxuIik7Cj4gPiAtCQlyZXR1cm47Cj4gPiAr CQlyZXR1cm4gZmFsc2U7Cj4gPiAgCX0KPiA+ICAKPiA+ICAJeCA9IGludGVsX2NydGMtPmJvcmRl cltQQU5FTF9CT1JERVJfTEVGVF07Cj4gPiBAQCAtMTA5LDEwICsxMDksMTEgQEAgaW50ZWxfcGNo X21hbnVhbF9wYW5lbF9maXR0aW5nKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ID4g IAlwaXBlX2NvbmZpZy0+cGNoX3BmaXQucG9zID0gKHggPDwgMTYpIHwgeTsKPiA+ICAJcGlwZV9j b25maWctPnBjaF9wZml0LnNpemUgPSAoZHN0X3dpZHRoIDw8IDE2KSB8IGRzdF9oZWlnaHQ7Cj4g PiAgCXBpcGVfY29uZmlnLT5wY2hfcGZpdC5lbmFibGVkID0gcGlwZV9jb25maWctPnBjaF9wZml0 LnNpemUgIT0gMDsKPiA+ICsJcmV0dXJuIHRydWU7Cj4gPiAgfQo+ID4gIAo+ID4gIC8qIGFkanVz dGVkX21vZGUgaGFzIGJlZW4gcHJlc2V0IHRvIGJlIHRoZSBwYW5lbCdzIGZpeGVkIG1vZGUgKi8K PiA+IC12b2lkCj4gPiArYm9vbAo+ID4gIGludGVsX3BjaF9wYW5lbF9maXR0aW5nKHN0cnVjdCBp bnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ID4gIAkJCXN0cnVjdCBpbnRlbF9jcnRjX2NvbmZpZyAq cGlwZV9jb25maWcsCj4gPiAgCQkJaW50IGZpdHRpbmdfbW9kZSkKPiA+IEBAIC0xODAsMTMgKzE4 MSwxNCBAQCBpbnRlbF9wY2hfcGFuZWxfZml0dGluZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxf Y3J0YywKPiA+ICAKPiA+ICAJZGVmYXVsdDoKPiA+ICAJCVdBUk4oMSwgImJhZCBwYW5lbCBmaXQg bW9kZTogJWRcbiIsIGZpdHRpbmdfbW9kZSk7Cj4gPiAtCQlyZXR1cm47Cj4gPiArCQlyZXR1cm4g ZmFsc2U7Cj4gPiAgCX0KPiA+ICAKPiA+ICBkb25lOgo+ID4gIAlwaXBlX2NvbmZpZy0+cGNoX3Bm aXQucG9zID0gKHggPDwgMTYpIHwgeTsKPiA+ICAJcGlwZV9jb25maWctPnBjaF9wZml0LnNpemUg PSAod2lkdGggPDwgMTYpIHwgaGVpZ2h0Owo+ID4gIAlwaXBlX2NvbmZpZy0+cGNoX3BmaXQuZW5h YmxlZCA9IHBpcGVfY29uZmlnLT5wY2hfcGZpdC5zaXplICE9IDA7Cj4gPiArCXJldHVybiB0cnVl Owo+ID4gIH0KPiA+ICAKPiA+ICBzdGF0aWMgdm9pZAo+ID4gQEAgLTM1Myw3ICszNTUsNyBAQCBz dGF0aWMgdm9pZCBpOXh4X3NjYWxlX2FzcGVjdChzdHJ1Y3QgaW50ZWxfY3J0Y19jb25maWcgKnBp cGVfY29uZmlnLAo+ID4gIAl9Cj4gPiAgfQo+ID4gIAo+ID4gLXZvaWQgaW50ZWxfZ21jaF9tYW51 YWxfcGFuZWxfZml0dGluZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiA+ICtib29s IGludGVsX2dtY2hfbWFudWFsX3BhbmVsX2ZpdHRpbmcoc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMsCj4gPiAgCQkJCSAgICAgc3RydWN0IGludGVsX2NydGNfY29uZmlnICpwaXBlX2NvbmZp ZykKPiA+ICB7Cj4gPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9jcnRjLT5iYXNl LmRldjsKPiA+IEBAIC0zODUsNyArMzg3LDcgQEAgdm9pZCBpbnRlbF9nbWNoX21hbnVhbF9wYW5l bF9maXR0aW5nKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ID4gIAo+ID4gIAlpZiAo KGRzdF93aWR0aCA9PSAwKSB8fCAoZHN0X2hlaWdodCA9PSAwKSkgewo+ID4gIAkJRFJNX0VSUk9S KCJJbnZhbGlkIGJvcmRlciBzaXplIGlucHV0XG4iKTsKPiA+IC0JCXJldHVybjsKPiA+ICsJCXJl dHVybiBmYWxzZTsKPiA+ICAJfQo+ID4gIAo+ID4gIAlwZl9ob3Jpem9udGFsX3JhdGlvID0gcGFu ZWxfZml0dGVyX3NjYWxpbmcoc3JjX3dpZHRoLCBkc3Rfd2lkdGgpOwo+ID4gQEAgLTM5MywxMCAr Mzk1LDEwIEBAIHZvaWQgaW50ZWxfZ21jaF9tYW51YWxfcGFuZWxfZml0dGluZyhzdHJ1Y3QgaW50 ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiA+ICAKPiA+ICAJaWYgKHBmX2hvcml6b250YWxfcmF0aW8g PiBNQVhfRE9XTlNDQUxFX1JBVElPKSB7Cj4gPiAgCQlEUk1fRVJST1IoIndpZHRoIGlzIHRvbyBz bWFsbFxuIik7Cj4gPiAtCQlyZXR1cm47Cj4gPiArCQlyZXR1cm4gZmFsc2U7Cj4gPiAgCX0gZWxz ZSBpZiAocGZfdmVydGljYWxfcmF0aW8gPiBNQVhfRE9XTlNDQUxFX1JBVElPKSB7Cj4gPiAgCQlE Uk1fRVJST1IoImhlaWdodCBpcyB0b28gc21hbGxcbiIpOwo+ID4gLQkJcmV0dXJuOwo+ID4gKwkJ cmV0dXJuIGZhbHNlOwo+ID4gIAl9Cj4gPiAgCj4gPiAgCWlmIChkc3Rfd2lkdGggIT0gdG90X3dp ZHRoKQo+ID4gQEAgLTQzMCw5ICs0MzIsMTAgQEAgdm9pZCBpbnRlbF9nbWNoX21hbnVhbF9wYW5l bF9maXR0aW5nKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ID4gIAo+ID4gIAlwaXBl X2NvbmZpZy0+Z21jaF9wZml0LmNvbnRyb2wgPSBwZml0X2NvbnRyb2w7Cj4gPiAgCXBpcGVfY29u ZmlnLT5nbWNoX3BmaXQubHZkc19ib3JkZXJfYml0cyA9IGJvcmRlcjsKPiA+ICsJcmV0dXJuIHRy dWU7Cj4gPiAgfQo+ID4gIAo+ID4gLXZvaWQgaW50ZWxfZ21jaF9wYW5lbF9maXR0aW5nKHN0cnVj dCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ID4gK2Jvb2wgaW50ZWxfZ21jaF9wYW5lbF9maXR0 aW5nKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ID4gIAkJCSAgICAgIHN0cnVjdCBp bnRlbF9jcnRjX2NvbmZpZyAqcGlwZV9jb25maWcsCj4gPiAgCQkJICAgICAgaW50IGZpdHRpbmdf bW9kZSkKPiA+ICB7Cj4gPiBAQCAtNDkwLDcgKzQ5Myw3IEBAIHZvaWQgaW50ZWxfZ21jaF9wYW5l bF9maXR0aW5nKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ID4gIAkJYnJlYWs7Cj4g PiAgCWRlZmF1bHQ6Cj4gPiAgCQlXQVJOKDEsICJiYWQgcGFuZWwgZml0IG1vZGU6ICVkXG4iLCBm aXR0aW5nX21vZGUpOwo+ID4gLQkJcmV0dXJuOwo+ID4gKwkJcmV0dXJuIGZhbHNlOwo+ID4gIAl9 Cj4gPiAgCj4gPiAgCS8qIDk2NSsgd2FudHMgZnV6enkgZml0dGluZyAqLwo+ID4gQEAgLTUxMiw2 ICs1MTUsNyBAQCBvdXQ6Cj4gPiAgCXBpcGVfY29uZmlnLT5nbWNoX3BmaXQuY29udHJvbCA9IHBm aXRfY29udHJvbDsKPiA+ICAJcGlwZV9jb25maWctPmdtY2hfcGZpdC5wZ21fcmF0aW9zID0gcGZp dF9wZ21fcmF0aW9zOwo+ID4gIAlwaXBlX2NvbmZpZy0+Z21jaF9wZml0Lmx2ZHNfYm9yZGVyX2Jp dHMgPSBib3JkZXI7Cj4gPiArCXJldHVybiB0cnVlOwo+ID4gIH0KPiA+ICAKPiA+ICBzdGF0aWMg dTMyIGludGVsX3BhbmVsX2NvbXB1dGVfYnJpZ2h0bmVzcyhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9y ICpjb25uZWN0b3IsCj4gPiAtLSAKPiA+IDEuOS4yCj4gPiAKPiA+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0 Cj4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4gCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK