From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 3/6] drm/i915: Propagating correct error codes to the userspace Date: Thu, 8 Oct 2015 11:22:45 +0100 Message-ID: <561643F5.1050308@linux.intel.com> References: <1444285469-8187-1-git-send-email-ankitprasad.r.sharma@intel.com> <1444285469-8187-4-git-send-email-ankitprasad.r.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 44F536E170 for ; Thu, 8 Oct 2015 03:22:47 -0700 (PDT) In-Reply-To: <1444285469-8187-4-git-send-email-ankitprasad.r.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: ankitprasad.r.sharma@intel.com, intel-gfx@lists.freedesktop.org Cc: akash.goel@intel.com, shashidhar.hiremath@intel.com List-Id: intel-gfx@lists.freedesktop.org CkhpLAoKT24gMDgvMTAvMTUgMDc6MjQsIGFua2l0cHJhc2FkLnIuc2hhcm1hQGludGVsLmNvbSB3 cm90ZToKPiBGcm9tOiBBbmtpdHByYXNhZCBTaGFybWEgPGFua2l0cHJhc2FkLnIuc2hhcm1hQGlu dGVsLmNvbT4KPgo+IFByb3BhZ2F0aW5nIGNvcnJlY3QgZXJyb3IgY29kZXMgdG8gdXNlcnNwYWNl IGJ5IHVzaW5nIEVSUl9QVFIgYW5kCj4gUFRSX0VSUiBtYWNyb3MgZm9yIHN0b2xlbiBtZW1vcnkg YmFzZWQgb2JqZWN0IGFsbG9jYXRpb24uIFdlIGdlbmVyYWxseQo+IHJldHVybiAtRU5PTUVNIHRv IHRoZSB1c2VyIHdoZW5ldmVyIHRoZXJlIGlzIGEgZmFpbHVyZSBpbiBvYmplY3QKPiBhbGxvY2F0 aW9uLiBUaGlzIHBhdGNoIGhlbHBzIHVzZXIgdG8gaWRlbnRpZnkgdGhlIGNvcnJlY3QgcmVhc29u IGZvciB0aGUKPiBmYWlsdXJlIGFuZCBub3QganVzdCAtRU5PTUVNIGVhY2ggdGltZS4KPgo+IHYy OiBNb3ZlZCB0aGUgcGF0Y2ggdXAgaW4gdGhlIHNlcmllcywgYWRkZWQgZXJyb3IgcHJvcGFnYXRp b24gZm9yCj4gaTkxNV9nZW1fYWxsb2Nfb2JqZWN0IHRvbyAoQ2hyaXMpCj4KPiBTaWduZWQtb2Zm LWJ5OiBBbmtpdHByYXNhZCBTaGFybWEgPGFua2l0cHJhc2FkLnIuc2hhcm1hQGludGVsLmNvbT4K PiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgICAgIHwg MTUgKysrKystLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fYmF0Y2hfcG9v bC5jICAgfCAgNCArLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQu YyAgICAgIHwgIDQgKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJf c3RhdGUuYyB8ICA0ICstLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVu LmMgICAgICAgfCA0MyArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgICB8ICA0ICstLQo+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgICAgICAgfCAgMiArLQo+ICAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYyAgICAgICAgICAgfCAgNiArKy0tCj4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAgICB8ICA4ICsrKy0tLQo+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jICAgICAgICAgfCAgNCArLS0KPiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgICAgICAgICAgIHwgIDIgKy0KPiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyAgICAgIHwgMjAgKysrKysrLS0t LS0tLQo+ICAgMTIgZmlsZXMgY2hhbmdlZCwgNjEgaW5zZXJ0aW9ucygrKSwgNTUgZGVsZXRpb25z KC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBpbmRleCBkM2Y0MzIxLi41NGY3ZGYxIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gQEAgLTM5Myw5ICszOTMsOSBAQCBpOTE1X2dl bV9jcmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlLAo+ICAgCWlmIChmbGFncyAmIEk5MTVfQ1JF QVRFX1BMQUNFTUVOVF9TVE9MRU4pIHsKPiAgIAkJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0 ZXgpOwo+ICAgCQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihkZXYsIHNpemUp Owo+IC0JCWlmICghb2JqKSB7Cj4gKwkJaWYgKElTX0VSUihvYmopKSB7Cj4gICAJCQltdXRleF91 bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiAtCQkJcmV0dXJuIC1FTk9NRU07Cj4gKwkJCXJl dHVybiBQVFJfRVJSKG9iaik7Cj4gICAJCX0KPgo+ICAgCQkvKiBBbHdheXMgY2xlYXIgZnJlc2gg YnVmZmVycyBiZWZvcmUgaGFuZGluZyB0byB1c2Vyc3BhY2UgKi8KPiBAQCAtNDExLDggKzQxMSw4 IEBAIGk5MTVfZ2VtX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCj4gICAJCW9iaiA9IGk5 MTVfZ2VtX2FsbG9jX29iamVjdChkZXYsIHNpemUpOwo+ICAgCX0KPgo+IC0JaWYgKG9iaiA9PSBO VUxMKQo+IC0JCXJldHVybiAtRU5PTUVNOwo+ICsJaWYgKElTX0VSUihvYmopKQo+ICsJCXJldHVy biBQVFJfRVJSKG9iaik7CiA+Cj4gICAJcmV0ID0gZHJtX2dlbV9oYW5kbGVfY3JlYXRlKGZpbGUs ICZvYmotPmJhc2UsICZoYW5kbGUpOwo+ICAgCS8qIGRyb3AgcmVmZXJlbmNlIGZyb20gYWxsb2Nh dGUgLSBoYW5kbGUgaG9sZHMgaXQgbm93ICovCj4gQEAgLTQyNzMsMTQgKzQyNzMsMTUgQEAgc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmk5MTVfZ2VtX2FsbG9jX29iamVjdChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAo+ICAgCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7Cj4gICAJ c3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmc7Cj4gICAJZ2ZwX3QgbWFzazsKPiArCWludCBy ZXQgPSAwOwo+Cj4gICAJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2FsbG9jKGRldik7Cj4gICAJaWYg KG9iaiA9PSBOVUxMKQo+IC0JCXJldHVybiBOVUxMOwo+ICsJCXJldHVybiBFUlJfUFRSKC1FTk9N RU0pOwo+Cj4gLQlpZiAoZHJtX2dlbV9vYmplY3RfaW5pdChkZXYsICZvYmotPmJhc2UsIHNpemUp ICE9IDApIHsKPiArCWlmICgocmV0ID0gZHJtX2dlbV9vYmplY3RfaW5pdChkZXYsICZvYmotPmJh c2UsIHNpemUpKSAhPSAwKSB7Cj4gICAJCWk5MTVfZ2VtX29iamVjdF9mcmVlKG9iaik7Cj4gLQkJ cmV0dXJuIE5VTEw7Cj4gKwkJcmV0dXJuIEVSUl9QVFIocmV0KTsKPiAgIAl9Cj4KPiAgIAltYXNr ID0gR0ZQX0hJR0hVU0VSIHwgX19HRlBfUkVDTEFJTUFCTEU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2JhdGNoX3Bvb2wuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2JhdGNoX3Bvb2wuYwo+IGluZGV4IDdiZjJmM2YuLmQ3OWNhYTIgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fYmF0Y2hfcG9vbC5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fYmF0Y2hfcG9vbC5jCj4gQEAgLTEzNSw4 ICsxMzUsOCBAQCBpOTE1X2dlbV9iYXRjaF9wb29sX2dldChzdHJ1Y3QgaTkxNV9nZW1fYmF0Y2hf cG9vbCAqcG9vbCwKPiAgIAkJaW50IHJldDsKPgo+ICAgCQlvYmogPSBpOTE1X2dlbV9hbGxvY19v YmplY3QocG9vbC0+ZGV2LCBzaXplKTsKPiAtCQlpZiAob2JqID09IE5VTEwpCj4gLQkJCXJldHVy biBFUlJfUFRSKC1FTk9NRU0pOwo+ICsJCWlmIChJU19FUlIob2JqKSkKPiArCQkJcmV0dXJuIG9i ajsKPgo+ICAgCQlyZXQgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzKG9iaik7Cj4gICAJCWlm IChyZXQpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRl eHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+IGluZGV4IDc0 YWEwYzkuLjYwMzYwMGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fY29udGV4dC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4 dC5jCj4gQEAgLTE1Nyw4ICsxNTcsOCBAQCBpOTE1X2dlbV9hbGxvY19jb250ZXh0X29iaihzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCBzaXplX3Qgc2l6ZSkKPiAgIAlpbnQgcmV0Owo+Cj4gICAJb2Jq ID0gaTkxNV9nZW1fYWxsb2Nfb2JqZWN0KGRldiwgc2l6ZSk7Cj4gLQlpZiAob2JqID09IE5VTEwp Cj4gLQkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gKwlpZiAoSVNfRVJSKG9iaikpCj4gKwkJ cmV0dXJuIG9iajsKPgo+ICAgCS8qCj4gICAJICogVHJ5IHRvIG1ha2UgdGhlIGNvbnRleHQgdXRp bGl6ZSBMMyBhcyB3ZWxsIGFzIExMQy4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9yZW5kZXJfc3RhdGUuYwo+IGluZGV4IDUwMjZhNjIuLjUwZDAxMGUgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuYwo+IEBAIC01OCw4ICs1OCw4 IEBAIHN0YXRpYyBpbnQgcmVuZGVyX3N0YXRlX2luaXQoc3RydWN0IHJlbmRlcl9zdGF0ZSAqc28s IHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICAJCXJldHVybiAtRUlOVkFMOwo+Cj4gICAJc28t Pm9iaiA9IGk5MTVfZ2VtX2FsbG9jX29iamVjdChkZXYsIDQwOTYpOwo+IC0JaWYgKHNvLT5vYmog PT0gTlVMTCkKPiAtCQlyZXR1cm4gLUVOT01FTTsKPiArCWlmIChJU19FUlIoc28tPm9iaikpCj4g KwkJcmV0dXJuIFBUUl9FUlIoc28tPm9iaik7Cj4KPiAgIAlyZXQgPSBpOTE1X2dlbV9vYmpfZ2d0 dF9waW4oc28tPm9iaiwgNDA5NiwgMCk7Cj4gICAJaWYgKHJldCkKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9zdG9sZW4uYwo+IGluZGV4IDVlYzIxOTAuLmQzZTY4MTMgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYwo+IEBAIC00MDYsNiArNDA2LDcgQEAgaTkx NV9wYWdlc19jcmVhdGVfZm9yX3N0b2xlbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAgCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gICAJ c3RydWN0IHNnX3RhYmxlICpzdDsKPiAgIAlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOwo+ICsJaW50 IHJldDsKPgo+ICAgCURSTV9ERUJVR19EUklWRVIoIm9mZnNldD0weCV4LCBzaXplPSVkXG4iLCBv ZmZzZXQsIHNpemUpOwo+ICAgCUJVR19PTihvZmZzZXQgPiBkZXZfcHJpdi0+Z3R0LnN0b2xlbl9z aXplIC0gc2l6ZSk7Cj4gQEAgLTQxNywxMSArNDE4LDEyIEBAIGk5MTVfcGFnZXNfY3JlYXRlX2Zv cl9zdG9sZW4oc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPgo+ICAgCXN0ID0ga21hbGxvYyhzaXpl b2YoKnN0KSwgR0ZQX0tFUk5FTCk7Cj4gICAJaWYgKHN0ID09IE5VTEwpCj4gLQkJcmV0dXJuIE5V TEw7Cj4gKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4KPiAtCWlmIChzZ19hbGxvY190YWJs ZShzdCwgMSwgR0ZQX0tFUk5FTCkpIHsKPiArCXJldCA9IHNnX2FsbG9jX3RhYmxlKHN0LCAxLCBH RlBfS0VSTkVMKTsKPiArCWlmIChyZXQpIHsKPiAgIAkJa2ZyZWUoc3QpOwo+IC0JCXJldHVybiBO VUxMOwo+ICsJCXJldHVybiBFUlJfUFRSKHJldCk7Cj4gICAJfQo+Cj4gICAJc2cgPSBzdC0+c2ds Owo+IEBAIC00NzAsMTggKzQ3MiwyMSBAQCBfaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4o c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIAkJCSAgICAgICBzdHJ1Y3QgZHJtX21tX25vZGUg KnN0b2xlbikKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwo+ICsJ aW50IHJldCA9IDA7Cj4KPiAgIAlvYmogPSBpOTE1X2dlbV9vYmplY3RfYWxsb2MoZGV2KTsKPiAg IAlpZiAob2JqID09IE5VTEwpCj4gLQkJcmV0dXJuIE5VTEw7Cj4gKwkJcmV0dXJuIEVSUl9QVFIo LUVOT01FTSk7Cj4KPiAgIAlkcm1fZ2VtX3ByaXZhdGVfb2JqZWN0X2luaXQoZGV2LCAmb2JqLT5i YXNlLCBzdG9sZW4tPnNpemUpOwo+ICAgCWk5MTVfZ2VtX29iamVjdF9pbml0KG9iaiwgJmk5MTVf Z2VtX29iamVjdF9zdG9sZW5fb3BzKTsKPgo+ICAgCW9iai0+cGFnZXMgPSBpOTE1X3BhZ2VzX2Ny ZWF0ZV9mb3Jfc3RvbGVuKGRldiwKPiAgIAkJCQkJCSAgc3RvbGVuLT5zdGFydCwgc3RvbGVuLT5z aXplKTsKPiAtCWlmIChvYmotPnBhZ2VzID09IE5VTEwpCj4gKwlpZiAoSVNfRVJSKG9iai0+cGFn ZXMpKSB7Cj4gKwkJcmV0ID0gUFRSX0VSUihvYmotPnBhZ2VzKTsKPiAgIAkJZ290byBjbGVhbnVw Owo+ICsJfQo+Cj4gICAJaTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOwo+ICAgCW9iai0+ c3RvbGVuID0gc3RvbGVuOwo+IEBAIC00OTMsNyArNDk4LDcgQEAgX2k5MTVfZ2VtX29iamVjdF9j cmVhdGVfc3RvbGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4KPiAgIGNsZWFudXA6Cj4gICAJ aTkxNV9nZW1fb2JqZWN0X2ZyZWUob2JqKTsKPiAtCXJldHVybiBOVUxMOwo+ICsJcmV0dXJuIEVS Ul9QVFIocmV0KTsKPiAgIH0KPgo+ICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgo+IEBA IC01MDUsMjkgKzUxMCwyOSBAQCBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCB1NjQgc2l6ZSkKPiAgIAlpbnQgcmV0Owo+Cj4gICAJaWYgKCFkcm1f bW1faW5pdGlhbGl6ZWQoJmRldl9wcml2LT5tbS5zdG9sZW4pKQo+IC0JCXJldHVybiBOVUxMOwo+ ICsJCXJldHVybiBFUlJfUFRSKC1FTk9ERVYpOwo+Cj4gICAJRFJNX0RFQlVHX0tNUygiY3JlYXRp bmcgc3RvbGVuIG9iamVjdDogc2l6ZT0lbGx4XG4iLCBzaXplKTsKPiAgIAlpZiAoc2l6ZSA9PSAw KQo+IC0JCXJldHVybiBOVUxMOwo+ICsJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwo+Cj4gICAJ c3RvbGVuID0ga3phbGxvYyhzaXplb2YoKnN0b2xlbiksIEdGUF9LRVJORUwpOwo+ICAgCWlmICgh c3RvbGVuKQo+IC0JCXJldHVybiBOVUxMOwo+ICsJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwo+ Cj4gICAJcmV0ID0gaTkxNV9nZW1fc3RvbGVuX2luc2VydF9ub2RlKGRldl9wcml2LCBzdG9sZW4s IHNpemUsIDQwOTYpOwo+ICAgCWlmIChyZXQpIHsKPiAgIAkJa2ZyZWUoc3RvbGVuKTsKPiAtCQly ZXR1cm4gTlVMTDsKPiArCQlyZXR1cm4gRVJSX1BUUihyZXQpOwo+ICAgCX0KPgo+ICAgCW9iaiA9 IF9pOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihkZXYsIHN0b2xlbik7Cj4gLQlpZiAob2Jq KQo+ICsJaWYgKCFJU19FUlIob2JqKSkKPiAgIAkJcmV0dXJuIG9iajsKPgo+ICAgCWk5MTVfZ2Vt X3N0b2xlbl9yZW1vdmVfbm9kZShkZXZfcHJpdiwgc3RvbGVuKTsKPiAgIAlrZnJlZShzdG9sZW4p Owo+IC0JcmV0dXJuIE5VTEw7Cj4gKwlyZXR1cm4gb2JqOwo+ICAgfQo+Cj4gICBzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqCj4gQEAgLTU0NCw3ICs1NDksNyBAQCBpOTE1X2dlbV9vYmplY3Rf Y3JlYXRlX3N0b2xlbl9mb3JfcHJlYWxsb2NhdGVkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4g ICAJaW50IHJldDsKPgo+ICAgCWlmICghZHJtX21tX2luaXRpYWxpemVkKCZkZXZfcHJpdi0+bW0u c3RvbGVuKSkKPiAtCQlyZXR1cm4gTlVMTDsKPiArCQlyZXR1cm4gRVJSX1BUUigtRU5PREVWKTsK Pgo+ICAgCURSTV9ERUJVR19LTVMoImNyZWF0aW5nIHByZWFsbG9jYXRlZCBzdG9sZW4gb2JqZWN0 OiBzdG9sZW5fb2Zmc2V0PSV4LCBndHRfb2Zmc2V0PSV4LCBzaXplPSV4XG4iLAo+ICAgCQkJc3Rv bGVuX29mZnNldCwgZ3R0X29mZnNldCwgc2l6ZSk7Cj4gQEAgLTU1MiwxMSArNTU3LDExIEBAIGk5 MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuX2Zvcl9wcmVhbGxvY2F0ZWQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPiAgIAkvKiBLSVNTIGFuZCBleHBlY3QgZXZlcnl0aGluZyB0byBiZSBwYWdl LWFsaWduZWQgKi8KPiAgIAlpZiAoV0FSTl9PTihzaXplID09IDApIHx8IFdBUk5fT04oc2l6ZSAm IDQwOTUpIHx8Cj4gICAJICAgIFdBUk5fT04oc3RvbGVuX29mZnNldCAmIDQwOTUpKQo+IC0JCXJl dHVybiBOVUxMOwo+ICsJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwo+Cj4gICAJc3RvbGVuID0g a3phbGxvYyhzaXplb2YoKnN0b2xlbiksIEdGUF9LRVJORUwpOwo+ICAgCWlmICghc3RvbGVuKQo+ IC0JCXJldHVybiBOVUxMOwo+ICsJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwo+Cj4gICAJc3Rv bGVuLT5zdGFydCA9IHN0b2xlbl9vZmZzZXQ7Cj4gICAJc3RvbGVuLT5zaXplID0gc2l6ZTsKPiBA QCAtNTY2LDE1ICs1NzEsMTUgQEAgaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW5fZm9yX3By ZWFsbG9jYXRlZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAgCWlmIChyZXQpIHsKPiAgIAkJ RFJNX0RFQlVHX0tNUygiZmFpbGVkIHRvIGFsbG9jYXRlIHN0b2xlbiBzcGFjZVxuIik7Cj4gICAJ CWtmcmVlKHN0b2xlbik7Cj4gLQkJcmV0dXJuIE5VTEw7Cj4gKwkJcmV0dXJuIEVSUl9QVFIocmV0 KTsKPiAgIAl9Cj4KPiAgIAlvYmogPSBfaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oZGV2 LCBzdG9sZW4pOwo+IC0JaWYgKG9iaiA9PSBOVUxMKSB7Cj4gKwlpZiAoSVNfRVJSKG9iaikpIHsK PiAgIAkJRFJNX0RFQlVHX0tNUygiZmFpbGVkIHRvIGFsbG9jYXRlIHN0b2xlbiBvYmplY3RcbiIp Owo+ICAgCQlpOTE1X2dlbV9zdG9sZW5fcmVtb3ZlX25vZGUoZGV2X3ByaXYsIHN0b2xlbik7Cj4g ICAJCWtmcmVlKHN0b2xlbik7Cj4gLQkJcmV0dXJuIE5VTEw7Cj4gKwkJcmV0dXJuIG9iajsKPiAg IAl9Cj4KPiAgIAkvKiBTb21lIG9iamVjdHMganVzdCBuZWVkIHBoeXNpY2FsIG1lbSBmcm9tIHN0 b2xlbiBzcGFjZSAqLwo+IEBAIC02MTIsNSArNjE3LDUgQEAgaTkxNV9nZW1fb2JqZWN0X2NyZWF0 ZV9zdG9sZW5fZm9yX3ByZWFsbG9jYXRlZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Cj4gICBl cnI6Cj4gICAJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2UoJm9iai0+YmFzZSk7Cj4gLQlyZXR1 cm4gTlVMTDsKPiArCXJldHVybiBFUlJfUFRSKHJldCk7Cj4gICB9Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+IGluZGV4IDc5MmQwYjkuLjM5MDE2OTggMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gQEAgLTY0 Niw4ICs2NDYsOCBAQCBzdGF0aWMgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmdlbV9hbGxv Y2F0ZV9ndWNfb2JqKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAJc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iajsKPgo+ICAgCW9iaiA9IGk5MTVfZ2VtX2FsbG9jX29iamVjdChkZXYs IHNpemUpOwo+IC0JaWYgKCFvYmopCj4gLQkJcmV0dXJuIE5VTEw7Cj4gKwlpZiAoSVNfRVJSKG9i aikpCj4gKwkJcmV0dXJuIG9iajsKCllvdSBoYXZlIHRvIGNoYW5nZSBrZXJuZWxkb2MgZm9yIHRo aXMgZnVuY3Rpb24gbm93LgoKQW5kIGV2ZW4gbW9yZSBpbXBvcnRhbnRseSB1cGRhdGUgZXJyb3Ig aGFuZGxpbmcgaW4gdGhlIGNhbGxlcnMhCgpUaGUgcmVzdCBsb29rcyBmaW5lIHRvIG1lLgoKT25l IHBvc3NpYmxlIGNsYXNzIG9mIGltcHJvdmVtZW50cyBjb3VsZCBiZSwgbm93IHRoYXQgZXJyb3Ig Y29kZXMgYXJlIApub3Qgc3dhbGxvd2VkLCB0byBwcmludCB0aGVtIG91dCBpbiBhbGwgdGhlIGV4 aXN0aW5nIERSTV9ERUJVR18gbG9nZ2luZyAKYWZ0ZXIgdGhlIHJlbGV2YW50IGNhbGwgc2l0ZXMu IFVwIHRvIHlvdS4KClJlZ2FyZHMsCgpUdnJ0a28KX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK