From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joonas Lahtinen Subject: Re: [PATCH 5/5] drm/i915: Propagate error from drm_gem_object_init() Date: Tue, 19 Apr 2016 14:45:38 +0300 Message-ID: <1461066338.5055.8.camel@linux.intel.com> References: <1460476663-24890-1-git-send-email-matthew.auld@intel.com> <1460476663-24890-5-git-send-email-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 312856E750 for ; Tue, 19 Apr 2016 11:44:27 +0000 (UTC) In-Reply-To: <1460476663-24890-5-git-send-email-matthew.auld@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Matthew Auld , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gdGksIDIwMTYtMDQtMTIgYXQgMTY6NTcgKzAxMDAsIE1hdHRoZXcgQXVsZCB3cm90ZToKPiBG cm9tOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiAKPiBGcm9tOiBD aHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KCkRvdWJsZSAiRnJvbTogIiwg b25lIHNob3VsZCBiZSBlbm91Z2guCgo+IAo+IFByb3BhZ2F0ZSB0aGUgcmVhbCBlcnJvciBmcm9t IGRybV9nZW1fb2JqZWN0X2luaXQoKS4gTm90ZSB0aGlzIGFsc28KPiBmaXhlcyBzb21lIGNvbmZ1 c2lvbiBpbiB0aGUgZXJyb3IgcmV0dXJuIGZyb20gaTkxNV9nZW1fYWxsb2Nfb2JqZWN0Li4uCj4g Cj4gdjI6Cj4gKE1hdHRoZXcgQXVsZCkKPiDCoCAtIHVwZGF0ZWQgbmV3IHVzZXJzIG9mIGdlbV9h bGxvY19vYmplY3QgZnJvbSBsYXRlc3QgZHJtLW5pZ2h0bHkKPiDCoCAtIHJlcGxhY2VkIG9jY3Vy cmVuY2VzIG9mIElTX0VSUl9PUl9OVUxMKCkgd2l0aCBJU19FUlIoKQo+IAo+IFNpZ25lZC1vZmYt Ynk6IE1hdHRoZXcgQXVsZCA8bWF0dGhldy5hdWxkQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5 OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiAtLS0KPiDCoGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfCAx NCArKysrKysrKy0tLS0tLQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fYmF0Y2hf cG9vbC5jwqDCoMKgfMKgwqA0ICsrLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2NvbnRleHQuY8KgwqDCoMKgwqDCoHzCoMKgNCArKy0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuYyB8wqDCoDcgKysrKystLQo+IMKgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jwqDCoMKgfMKgwqAyICstCj4gwqBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmPCoMKgwqDCoMKgwqDCoMKgwqB8wqDCoDQgKyst LQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqB8wqDCoDQgKystLQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoHwgMTAgKysrKysrLS0tLQo+IMKgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfb3ZlcmxheS5jwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAyICstCj4gwqBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmPCoMKgwqDCoMKgwqB8IDE5ICsrKysr KysrKystLS0tLS0tLS0KPiDCoDEwIGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDMx IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IGluZGV4IGIzN2ZmZWEu LjZhNjk5OGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBAQCAtMzg3LDggKzM4Nyw4 IEBAIGk5MTVfZ2VtX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCj4gwqAKPiDCoAkvKiBB bGxvY2F0ZSB0aGUgbmV3IG9iamVjdCAqLwo+IMKgCW9iaiA9IGk5MTVfZ2VtX2FsbG9jX29iamVj dChkZXYsIHNpemUpOwo+IC0JaWYgKG9iaiA9PSBOVUxMKQo+IC0JCXJldHVybiAtRU5PTUVNOwo+ ICsJaWYgKElTX0VSUihvYmopKQo+ICsJCXJldHVybiBQVFJfRVJSKG9iaik7Cj4gwqAKPiDCoAly ZXQgPSBkcm1fZ2VtX2hhbmRsZV9jcmVhdGUoZmlsZSwgJm9iai0+YmFzZSwgJmhhbmRsZSk7Cj4g wqAJLyogZHJvcCByZWZlcmVuY2UgZnJvbSBhbGxvY2F0ZSAtIGhhbmRsZSBob2xkcyBpdCBub3cg Ki8KPiBAQCAtNDUyNywxNCArNDUyNywxNiBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq aTkxNV9nZW1fYWxsb2Nfb2JqZWN0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gwqAJc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKPiDCoAlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFw cGluZzsKPiDCoAlnZnBfdCBtYXNrOwo+ICsJaW50IHJldDsKPiDCoAo+IMKgCW9iaiA9IGk5MTVf Z2VtX29iamVjdF9hbGxvYyhkZXYpOwo+IMKgCWlmIChvYmogPT0gTlVMTCkKPiAtCQlyZXR1cm4g TlVMTDsKPiArCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKPiDCoAo+IC0JaWYgKGRybV9nZW1f b2JqZWN0X2luaXQoZGV2LCAmb2JqLT5iYXNlLCBzaXplKSAhPSAwKSB7Cj4gKwlyZXQgPSBkcm1f Z2VtX29iamVjdF9pbml0KGRldiwgJm9iai0+YmFzZSwgc2l6ZSk7Cj4gKwlpZiAocmV0KSB7Cj4g wqAJCWk5MTVfZ2VtX29iamVjdF9mcmVlKG9iaik7Cj4gLQkJcmV0dXJuIE5VTEw7Cj4gKwkJcmV0 dXJuIEVSUl9QVFIocmV0KTsKCldoaWxlIGF0IGl0LCBJJ2QgbWFrZSB0aGlzIGhhdmUgYSBnb3Rv IHRlYXJkb3duIHBhdGguCgo+IMKgCX0KPiDCoAo+IMKgCW1hc2sgPSBHRlBfSElHSFVTRVIgfCBf X0dGUF9SRUNMQUlNQUJMRTsKPiBAQCAtNTM5MCw3ICs1MzkyLDcgQEAgaTkxNV9nZW1fb2JqZWN0 X2NyZWF0ZV9mcm9tX2RhdGEoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiDCoAlpbnQgcmV0Owo+ IMKgCj4gwqAJb2JqID0gaTkxNV9nZW1fYWxsb2Nfb2JqZWN0KGRldiwgcm91bmRfdXAoc2l6ZSwg UEFHRV9TSVpFKSk7Cj4gLQlpZiAoSVNfRVJSX09SX05VTEwob2JqKSkKPiArCWlmIChJU19FUlIo b2JqKSkKPiDCoAkJcmV0dXJuIG9iajsKPiDCoAo+IMKgCXJldCA9IGk5MTVfZ2VtX29iamVjdF9z ZXRfdG9fY3B1X2RvbWFpbihvYmosIHRydWUpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9iYXRjaF9wb29sLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9iYXRjaF9wb29sLmMKPiBpbmRleCA3YmYyZjNmLi5kNzljYWEyIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2JhdGNoX3Bvb2wuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2JhdGNoX3Bvb2wuYwo+IEBAIC0xMzUsOCArMTM1LDgg QEAgaTkxNV9nZW1fYmF0Y2hfcG9vbF9nZXQoc3RydWN0IGk5MTVfZ2VtX2JhdGNoX3Bvb2wgKnBv b2wsCj4gwqAJCWludCByZXQ7Cj4gwqAKPiDCoAkJb2JqID0gaTkxNV9nZW1fYWxsb2Nfb2JqZWN0 KHBvb2wtPmRldiwgc2l6ZSk7Cj4gLQkJaWYgKG9iaiA9PSBOVUxMKQo+IC0JCQlyZXR1cm4gRVJS X1BUUigtRU5PTUVNKTsKPiArCQlpZiAoSVNfRVJSKG9iaikpCj4gKwkJCXJldHVybiBvYmo7Cj4g wqAKPiDCoAkJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlcyhvYmopOwo+IMKgCQlpZiAo cmV0KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPiBpbmRleCBmZTU4 MGNiLi5hNWFkYzY2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2NvbnRleHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQu Ywo+IEBAIC0xNzksOCArMTc5LDggQEAgaTkxNV9nZW1fYWxsb2NfY29udGV4dF9vYmooc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgc2l6ZV90IHNpemUpCj4gwqAJaW50IHJldDsKPiDCoAo+IMKgCW9i aiA9IGk5MTVfZ2VtX2FsbG9jX29iamVjdChkZXYsIHNpemUpOwo+IC0JaWYgKG9iaiA9PSBOVUxM KQo+IC0JCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwo+ICsJaWYgKElTX0VSUihvYmopKQo+ICsJ CXJldHVybiBvYmo7Cj4gwqAKPiDCoAkvKgo+IMKgCcKgKiBUcnkgdG8gbWFrZSB0aGUgY29udGV4 dCB1dGlsaXplIEwzIGFzIHdlbGwgYXMgTExDLgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jCj4gaW5kZXggNzE2MTFiZi4uMDcxYzExZSAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jCj4gQEAgLTU4LDgg KzU4LDExIEBAIHN0YXRpYyBpbnQgcmVuZGVyX3N0YXRlX2luaXQoc3RydWN0IHJlbmRlcl9zdGF0 ZSAqc28sIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gwqAJCXJldHVybiAtRUlOVkFMOwo+IMKg Cj4gwqAJc28tPm9iaiA9IGk5MTVfZ2VtX2FsbG9jX29iamVjdChkZXYsIDQwOTYpOwo+IC0JaWYg KHNvLT5vYmogPT0gTlVMTCkKPiAtCQlyZXR1cm4gLUVOT01FTTsKPiArCWlmIChJU19FUlIoc28t Pm9iaikpIHsKPiArCQlyZXQgPSBQVFJfRVJSKHNvLT5vYmopOwo+ICsJCXNvLT5vYmogPSBOVUxM Owo+ICsJCXJldHVybiByZXQ7Cj4gKwl9CgpUaGUgdGVhcmRvd24gcGF0aCBpbiB0aGlzIGZ1bmN0 aW9uIGxlYXZlcyBzby0+b2JqICE9IE5VTEwgaW4gbGF0ZXIKZmFpbHVyZSBwYXRoLiBBbHNvwqBp OTE1X2dlbV9hbGxvY19vYmplY3QgaGFzIG9ubHkKZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2Ug YXMgYSBjb3VudGVycGFydCBzbyBpdCdsbCBsZWFrIHRvby4gU2hvdWxkCmJlIGZpeGVkIGluIGEg Zm9sbG93LXVwIHBhdGNoLgoKPiDCoAo+IMKgCXJldCA9IGk5MTVfZ2VtX29ial9nZ3R0X3Bpbihz by0+b2JqLCA0MDk2LCAwKTsKPiDCoAlpZiAocmV0KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2d1Y19zdWJtaXNzaW9uLmMKPiBpbmRleCBkYTg2YmRiLi4wMDRmOGY3IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+IEBAIC02MTcsNyArNjE3 LDcgQEAgc3RhdGljIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpnZW1fYWxsb2NhdGVfZ3Vj X29iaihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IMKgCXN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmo7Cj4gwqAKPiDCoAlvYmogPSBpOTE1X2dlbV9hbGxvY19vYmplY3QoZGV2LCBzaXpl KTsKPiAtCWlmICghb2JqKQo+ICsJaWYgKElTX0VSUihvYmopKQo+IMKgCQlyZXR1cm4gTlVMTDsK PiDCoAo+IMKgCWlmIChpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzKG9iaikpIHsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggNTUxNTQxYjMwMy4uMjI0N2JkYiAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMTAyODMsOCArMTAyODMs OCBAQCBpbnRlbF9mcmFtZWJ1ZmZlcl9jcmVhdGVfZm9yX21vZGUoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKPiDCoAo+IMKgCW9iaiA9IGk5MTVfZ2VtX2FsbG9jX29iamVjdChkZXYsCj4gwqAJCQkJ wqDCoMKgwqBpbnRlbF9mcmFtZWJ1ZmZlcl9zaXplX2Zvcl9tb2RlKG1vZGUsIGJwcCkpOwo+IC0J aWYgKG9iaiA9PSBOVUxMKQo+IC0JCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwo+ICsJaWYgKElT X0VSUihvYmopKQo+ICsJCXJldHVybiBFUlJfQ0FTVChvYmopOwo+IMKgCj4gwqAJbW9kZV9jbWQu d2lkdGggPSBtb2RlLT5oZGlzcGxheTsKPiDCoAltb2RlX2NtZC5oZWlnaHQgPSBtb2RlLT52ZGlz cGxheTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMKPiBpbmRleCA3OWFjMjAyLi43MDQ3 YjM4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jCj4gQEAgLTE1MSw5ICsxNTEs OSBAQCBzdGF0aWMgaW50IGludGVsZmJfYWxsb2Moc3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBl ciwKPiDCoAkJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oZGV2LCBzaXplKTsK PiDCoAlpZiAob2JqID09IE5VTEwpCj4gwqAJCW9iaiA9IGk5MTVfZ2VtX2FsbG9jX29iamVjdChk ZXYsIHNpemUpOwo+IC0JaWYgKCFvYmopIHsKPiArCWlmIChJU19FUlIob2JqKSkgewo+IMKgCQlE Uk1fRVJST1IoImZhaWxlZCB0byBhbGxvY2F0ZSBmcmFtZWJ1ZmZlclxuIik7Cj4gLQkJcmV0ID0g LUVOT01FTTsKPiArCQlyZXQgPSBQVFJfRVJSKG9iaik7Cj4gwqAJCWdvdG8gb3V0Owo+IMKgCX0K PiDCoAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gaW5kZXggMGQ2ZGM1ZS4uYzA1NDNiYiAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gQEAgLTE0ODMsOSArMTQ4MywxMSBAQCBz dGF0aWMgaW50IGxyY19zZXR1cF93YV9jdHhfb2JqKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSwgdTMyIHNpemUpCj4gwqAKPiDCoAllbmdpbmUtPndhX2N0eC5vYmogPSBpOTE1X2dlbV9h bGxvY19vYmplY3QoZW5naW5lLT5kZXYsCj4gwqAJCQkJCQnCoMKgwqBQQUdFX0FMSUdOKHNpemUp KTsKPiAtCWlmICghZW5naW5lLT53YV9jdHgub2JqKSB7Cj4gKwlpZiAoSVNfRVJSKGVuZ2luZS0+ d2FfY3R4Lm9iaikpIHsKPiDCoAkJRFJNX0RFQlVHX0RSSVZFUigiYWxsb2MgTFJDIFdBIGN0eCBi YWNraW5nIG9iaiBmYWlsZWQuXG4iKTsKPiAtCQlyZXR1cm4gLUVOT01FTTsKPiArCQlyZXQgPSBQ VFJfRVJSKGVuZ2luZS0+d2FfY3R4Lm9iaik7Cj4gKwkJZW5naW5lLT53YV9jdHgub2JqID0gTlVM TDsKPiArCQlyZXR1cm4gcmV0Owo+IMKgCX0KPiDCoAo+IMKgCXJldCA9IGk5MTVfZ2VtX29ial9n Z3R0X3BpbihlbmdpbmUtPndhX2N0eC5vYmosIFBBR0VfU0laRSwgMCk7Cj4gQEAgLTI2MzgsOSAr MjY0MCw5IEBAIGludCBpbnRlbF9scl9jb250ZXh0X2RlZmVycmVkX2FsbG9jKHN0cnVjdCBpbnRl bF9jb250ZXh0ICpjdHgsCj4gwqAJY29udGV4dF9zaXplICs9IFBBR0VfU0laRSAqIExSQ19QUEhX U1BfUE47Cj4gwqAKPiDCoAljdHhfb2JqID0gaTkxNV9nZW1fYWxsb2Nfb2JqZWN0KGRldiwgY29u dGV4dF9zaXplKTsKPiAtCWlmICghY3R4X29iaikgewo+ICsJaWYgKElTX0VSUihjdHhfb2JqKSkg ewo+IMKgCQlEUk1fREVCVUdfRFJJVkVSKCJBbGxvYyBMUkMgYmFja2luZyBvYmogZmFpbGVkLlxu Iik7Cj4gLQkJcmV0dXJuIC1FTk9NRU07Cj4gKwkJcmV0dXJuIFBUUl9FUlIoY3R4X29iaik7Cj4g wqAJfQo+IMKgCj4gwqAJcmluZ2J1ZiA9IGludGVsX2VuZ2luZV9jcmVhdGVfcmluZ2J1ZmZlcihl bmdpbmUsIDQgKiBQQUdFX1NJWkUpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9vdmVybGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMK PiBpbmRleCA2Njk0ZTkyLi43N2VlMTJmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX292ZXJsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292 ZXJsYXkuYwo+IEBAIC0xMzk3LDcgKzEzOTcsNyBAQCB2b2lkIGludGVsX3NldHVwX292ZXJsYXko c3RydWN0IGRybV9kZXZpY2UgKmRldikKPiDCoAkJcmVnX2JvID0gaTkxNV9nZW1fb2JqZWN0X2Ny ZWF0ZV9zdG9sZW4oZGV2LCBQQUdFX1NJWkUpOwo+IMKgCWlmIChyZWdfYm8gPT0gTlVMTCkKPiDC oAkJcmVnX2JvID0gaTkxNV9nZW1fYWxsb2Nfb2JqZWN0KGRldiwgUEFHRV9TSVpFKTsKPiAtCWlm IChyZWdfYm8gPT0gTlVMTCkKPiArCWlmIChJU19FUlIocmVnX2JvKSkKPiDCoAkJZ290byBvdXRf ZnJlZTsKPiDCoAlvdmVybGF5LT5yZWdfYm8gPSByZWdfYm87Cj4gwqAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gaW5kZXggNDFiNjA0ZS4uYjIwY2Y5MSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPiBAQCAtNjcyLDkgKzY3Miwx MCBAQCBpbnRlbF9pbml0X3BpcGVfY29udHJvbChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUpCj4gwqAJV0FSTl9PTihlbmdpbmUtPnNjcmF0Y2gub2JqKTsKPiDCoAo+IMKgCWVuZ2luZS0+ c2NyYXRjaC5vYmogPSBpOTE1X2dlbV9hbGxvY19vYmplY3QoZW5naW5lLT5kZXYsIDQwOTYpOwo+ IC0JaWYgKGVuZ2luZS0+c2NyYXRjaC5vYmogPT0gTlVMTCkgewo+ICsJaWYgKElTX0VSUihlbmdp bmUtPnNjcmF0Y2gub2JqKSkgewo+IMKgCQlEUk1fRVJST1IoIkZhaWxlZCB0byBhbGxvY2F0ZSBz ZXFubyBwYWdlXG4iKTsKPiAtCQlyZXQgPSAtRU5PTUVNOwo+ICsJCXJldCA9IFBUUl9FUlIoZW5n aW5lLT5zY3JhdGNoLm9iaik7Cj4gKwkJZW5naW5lLT5zY3JhdGNoLm9iaiA9IE5VTEw7Cj4gwqAJ CWdvdG8gZXJyOwo+IMKgCX0KPiDCoAo+IEBAIC0yMDIxLDkgKzIwMjIsOSBAQCBzdGF0aWMgaW50 IGluaXRfc3RhdHVzX3BhZ2Uoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+IMKgCQlp bnQgcmV0Owo+IMKgCj4gwqAJCW9iaiA9IGk5MTVfZ2VtX2FsbG9jX29iamVjdChlbmdpbmUtPmRl diwgNDA5Nik7Cj4gLQkJaWYgKG9iaiA9PSBOVUxMKSB7Cj4gKwkJaWYgKElTX0VSUihvYmopKSB7 Cj4gwqAJCQlEUk1fRVJST1IoIkZhaWxlZCB0byBhbGxvY2F0ZSBzdGF0dXMgcGFnZVxuIik7Cj4g LQkJCXJldHVybiAtRU5PTUVNOwo+ICsJCQlyZXR1cm4gUFRSX0VSUihvYmopOwo+IMKgCQl9Cj4g wqAKPiDCoAkJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3NldF9jYWNoZV9sZXZlbChvYmosIEk5MTVf Q0FDSEVfTExDKTsKPiBAQCAtMjE1Niw4ICsyMTU3LDggQEAgc3RhdGljIGludCBpbnRlbF9hbGxv Y19yaW5nYnVmZmVyX29iaihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IMKgCQlvYmogPSBpOTE1 X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihkZXYsIHJpbmdidWYtPnNpemUpOwo+IMKgCWlmIChv YmogPT0gTlVMTCkKPiDCoAkJb2JqID0gaTkxNV9nZW1fYWxsb2Nfb2JqZWN0KGRldiwgcmluZ2J1 Zi0+c2l6ZSk7Cj4gLQlpZiAob2JqID09IE5VTEwpCj4gLQkJcmV0dXJuIC1FTk9NRU07Cj4gKwlp ZiAoSVNfRVJSKG9iaikpCj4gKwkJcmV0dXJuIFBUUl9FUlIob2JqKTsKPiDCoAo+IMKgCS8qIG1h cmsgcmluZyBidWZmZXJzIGFzIHJlYWQtb25seSBmcm9tIEdQVSBzaWRlIGJ5IGRlZmF1bHQgKi8K PiDCoAlvYmotPmd0X3JvID0gMTsKPiBAQCAtMjc4MCw3ICsyNzgxLDcgQEAgaW50IGludGVsX2lu aXRfcmVuZGVyX3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gwqAJaWYgKElO VEVMX0lORk8oZGV2KS0+Z2VuID49IDgpIHsKPiDCoAkJaWYgKGk5MTVfc2VtYXBob3JlX2lzX2Vu YWJsZWQoZGV2KSkgewo+IMKgCQkJb2JqID0gaTkxNV9nZW1fYWxsb2Nfb2JqZWN0KGRldiwgNDA5 Nik7Cj4gLQkJCWlmIChvYmogPT0gTlVMTCkgewo+ICsJCQlpZiAoSVNfRVJSKG9iaikpIHsKPiDC oAkJCQlEUk1fRVJST1IoIkZhaWxlZCB0byBhbGxvY2F0ZSBzZW1hcGhvcmUgYm8uIERpc2FibGlu ZyBzZW1hcGhvcmVzXG4iKTsKPiDCoAkJCQlpOTE1LnNlbWFwaG9yZXMgPSAwOwo+IMKgCQkJfSBl bHNlIHsKPiBAQCAtMjg4OSw5ICsyODkwLDkgQEAgaW50IGludGVsX2luaXRfcmVuZGVyX3Jpbmdf YnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gwqAJLyogV29ya2Fyb3VuZCBiYXRjaGJ1 ZmZlciB0byBjb21iYXQgQ1MgdGxiIGJ1Zy4gKi8KPiDCoAlpZiAoSEFTX0JST0tFTl9DU19UTEIo ZGV2KSkgewo+IMKgCQlvYmogPSBpOTE1X2dlbV9hbGxvY19vYmplY3QoZGV2LCBJODMwX1dBX1NJ WkUpOwo+IC0JCWlmIChvYmogPT0gTlVMTCkgewo+ICsJCWlmIChJU19FUlIob2JqKSkgewo+IMKg CQkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gYWxsb2NhdGUgYmF0Y2ggYm9cbiIpOwo+IC0JCQlyZXR1 cm4gLUVOT01FTTsKPiArCQkJcmV0dXJuIFBUUl9FUlIob2JqKTsKPiDCoAkJfQo+IMKgCj4gwqAJ CXJldCA9IGk5MTVfZ2VtX29ial9nZ3R0X3BpbihvYmosIDAsIDApOwoKU29tZSBjb21tZW50cyBh Ym92ZS4KClJldmlld2VkLWJ5OiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51 eC5pbnRlbC5jb20+CgpSZWdhcmRzLCBKb29uYXMKLS0gCkpvb25hcyBMYWh0aW5lbgpPcGVuIFNv dXJjZSBUZWNobm9sb2d5IENlbnRlcgpJbnRlbCBDb3Jwb3JhdGlvbgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK