From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 3/3] drm/i915: Clean up if drm_sysfs_connector_add() fails Date: Tue, 05 Nov 2013 09:23:46 +0200 Message-ID: <87d2mfs459.fsf@intel.com> References: <1383592728-20851-1-git-send-email-ville.syrjala@linux.intel.com> <1383592728-20851-4-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1383592728-20851-4-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org To: ville.syrjala@linux.intel.com, dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAwNCBOb3YgMjAxMywgdmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20gd3JvdGU6 Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K Pgo+IFdoaWxlIHdlIGNhbiBub3cgY2FsbCBkcm1fc3lzZnNfY29ubmVjdG9yX3JlbW92ZSgpIGV2 ZW4gaWYKPiBkcm1fY29ubmVjdG9yX3N5c2ZzX2FkZCgpIGZhaWxlZCwgaXQgd291bGQgc2VlbSBi ZXR0ZXIgZm9yCj4gdGhlIHVzZXIgdG8ga25vdyB0aGF0IHNvbWV0aGluZyB3ZW50IHdyb25nLiBT byBpbnN0ZWFkIG9mCj4gaWdub3JpbmcgZHJtX3N5c2ZzX2Nvbm5lY3Rvcl9hZGQoKSByZXR1cm4g dmFsdWUsIGNoZWNsIGl0Cj4gYW5kIGZhaWwgdGhlIHdob2xlIGNvbm5lY3RvciByZWdpc3RyYXRp b24uCgpJIHRoaW5rIEknZCByYXRoZXIgc2VlIGEgY2xlYW51cCBvZiB0aGUgaW5pdCB0aW1lIGZh aWwgcGF0aHMgZmlyc3QsCnVzaW5nIHRoZSByZWd1bGFyIGtlcm5lbCBnb3RvIHN0eWxlLiBXaGlj aCBJIGFsc28gZG9uJ3QgdGhpbmsgc2hvdWxkIGJlCmEgaHVnZSBwcmlvcml0eS4gV2hhZGRheWEg dGhpbms/CgpDaGVlcnMsCkphbmkuCgoKPgo+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzD pCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2NydC5jICB8IDEwICsrKysrKysrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGRpLmMgIHwgIDUgKysrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHAuYyAgIHwgIDYgKysrKystCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICB8 ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jICB8ICA5ICsrKysrKysr LQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYyAgfCAgOCArKysrKysrLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgfCAxNiArKysrKysrKysrKysrLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYyB8ICA3ICsrKysrKy0KPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jIHwgMzYgKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2LmMgICB8IDEwICsr KysrKysrKy0KPiAgMTAgZmlsZXMgY2hhbmdlZCwgOTEgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRp b25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYwo+IGluZGV4IDJlMDFiZDMuLmJlOGEw MjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYwo+IEBAIC03NzMsNiArNzczLDcgQEAg dm9pZCBpbnRlbF9jcnRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJc3RydWN0IGlu dGVsX2NydCAqY3J0Owo+ICAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9y Owo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKPiArCWludCBlcnJvcjsKPiAgCj4gIAkvKiBTa2lwIG1hY2hpbmVzIHdpdGhvdXQgVkdBIHRo YXQgZmFsc2VseSByZXBvcnQgaG90cGx1ZyBldmVudHMgKi8KPiAgCWlmIChkbWlfY2hlY2tfc3lz dGVtKGludGVsX25vX2NydCkpCj4gQEAgLTgzNiw3ICs4MzcsMTQgQEAgdm9pZCBpbnRlbF9jcnRf aW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAKPiAgCWRybV9jb25uZWN0b3JfaGVscGVy X2FkZChjb25uZWN0b3IsICZpbnRlbF9jcnRfY29ubmVjdG9yX2hlbHBlcl9mdW5jcyk7Cj4gIAo+ IC0JZHJtX3N5c2ZzX2Nvbm5lY3Rvcl9hZGQoY29ubmVjdG9yKTsKPiArCWVycm9yID0gZHJtX3N5 c2ZzX2Nvbm5lY3Rvcl9hZGQoY29ubmVjdG9yKTsKPiArCWlmIChlcnJvcikgewo+ICsJCWRybV9l bmNvZGVyX2NsZWFudXAoJmNydC0+YmFzZS5iYXNlKTsKPiArCQlkcm1fY29ubmVjdG9yX2NsZWFu dXAoY29ubmVjdG9yKTsKPiArCQlrZnJlZShpbnRlbF9jb25uZWN0b3IpOwo+ICsJCWtmcmVlKGNy dCk7Cj4gKwkJcmV0dXJuOwo+ICsJfQo+ICAKPiAgCWlmICghSTkxNV9IQVNfSE9UUExVRyhkZXYp KQo+ICAJCWludGVsX2Nvbm5lY3Rvci0+cG9sbGVkID0gRFJNX0NPTk5FQ1RPUl9QT0xMX0NPTk5F Q1Q7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBpbmRleCAzMWY0ZmUyLi42ODdlMzMzIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBAQCAtMTM3NSw3ICsxMzc1LDEwIEBAIGlu dGVsX2RkaV9pbml0X2hkbWlfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmlu dGVsX2RpZ19wb3J0KQo+ICAJCXJldHVybiBOVUxMOwo+ICAKPiAgCWludGVsX2RpZ19wb3J0LT5o ZG1pLmhkbWlfcmVnID0gRERJX0JVRl9DVEwocG9ydCk7Cj4gLQlpbnRlbF9oZG1pX2luaXRfY29u bmVjdG9yKGludGVsX2RpZ19wb3J0LCBjb25uZWN0b3IpOwo+ICsJaWYgKCFpbnRlbF9oZG1pX2lu aXRfY29ubmVjdG9yKGludGVsX2RpZ19wb3J0LCBjb25uZWN0b3IpKSB7Cj4gKwkJa2ZyZWUoY29u bmVjdG9yKTsKPiArCQlyZXR1cm4gTlVMTDsKPiArCX0KPiAgCj4gIAlyZXR1cm4gY29ubmVjdG9y Owo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gaW5kZXggYzg1MTViYi4uZWIwMWJlNyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IEBAIC0zNjAzLDcgKzM2MDMsMTEgQEAgaW50 ZWxfZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGln X3BvcnQsCj4gIAkJCSAgaXJvbmxha2VfcGFuZWxfdmRkX3dvcmspOwo+ICAKPiAgCWludGVsX2Nv bm5lY3Rvcl9hdHRhY2hfZW5jb2RlcihpbnRlbF9jb25uZWN0b3IsIGludGVsX2VuY29kZXIpOwo+ IC0JZHJtX3N5c2ZzX2Nvbm5lY3Rvcl9hZGQoY29ubmVjdG9yKTsKPiArCWVycm9yID0gZHJtX3N5 c2ZzX2Nvbm5lY3Rvcl9hZGQoY29ubmVjdG9yKTsKPiArCWlmIChlcnJvcikgewo+ICsJCWRybV9j b25uZWN0b3JfY2xlYW51cChjb25uZWN0b3IpOwo+ICsJCXJldHVybiBmYWxzZTsKPiArCX0KPiAg Cj4gIAlpZiAoSEFTX0RESShkZXYpKQo+ICAJCWludGVsX2Nvbm5lY3Rvci0+Z2V0X2h3X3N0YXRl ID0gaW50ZWxfZGRpX2Nvbm5lY3Rvcl9nZXRfaHdfc3RhdGU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKPiBpbmRleCA5ZDI2MjRmLi5hOTQ0ZDZlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKPiBAQCAtNzYwLDcgKzc2MCw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF9mYmRl dl9yZXN0b3JlX21vZGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCj4gIC8qIGludGVsX2hk bWkuYyAqLwo+ICB2b2lkIGludGVsX2hkbWlfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBp bnQgaGRtaV9yZWcsIGVudW0gcG9ydCBwb3J0KTsKPiAtdm9pZCBpbnRlbF9oZG1pX2luaXRfY29u bmVjdG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAo+ICtib29s IGludGVsX2hkbWlfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50 ZWxfZGlnX3BvcnQsCj4gIAkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9j b25uZWN0b3IpOwo+ICBzdHJ1Y3QgaW50ZWxfaGRtaSAqZW5jX3RvX2ludGVsX2hkbWkoc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyKTsKPiAgYm9vbCBpbnRlbF9oZG1pX2NvbXB1dGVfY29uZmln KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5j Cj4gaW5kZXggZDI1N2IwOS4uMTY2ODRiNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kc2kuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5j Cj4gQEAgLTUzNSw2ICs1MzUsNyBAQCBib29sIGludGVsX2RzaV9pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCj4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZml4ZWRfbW9kZSA9IE5VTEw7 Cj4gIAljb25zdCBzdHJ1Y3QgaW50ZWxfZHNpX2RldmljZSAqZHNpOwo+ICAJdW5zaWduZWQgaW50 IGk7Cj4gKwlpbnQgZXJyb3I7Cj4gIAo+ICAJRFJNX0RFQlVHX0tNUygiXG4iKTsKPiAgCj4gQEAg LTU5OCwxMSArNTk5LDE3IEBAIGJvb2wgaW50ZWxfZHNpX2luaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKPiAgCj4gIAlpbnRlbF9jb25uZWN0b3JfYXR0YWNoX2VuY29kZXIoaW50ZWxfY29ubmVj dG9yLCBpbnRlbF9lbmNvZGVyKTsKPiAgCj4gLQlkcm1fc3lzZnNfY29ubmVjdG9yX2FkZChjb25u ZWN0b3IpOwo+ICsJZXJyb3IgPSBkcm1fc3lzZnNfY29ubmVjdG9yX2FkZChjb25uZWN0b3IpOwo+ ICsJaWYgKGVycm9yKSB7Cj4gKwkJZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwKGNvbm5lY3Rvcik7Cj4g KwkJZ290byBlcnI7Cj4gKwl9Cj4gIAo+ICAJZml4ZWRfbW9kZSA9IGRzaS0+ZGV2X29wcy0+Z2V0 X21vZGVzKCZpbnRlbF9kc2ktPmRldik7Cj4gIAlpZiAoIWZpeGVkX21vZGUpIHsKPiAgCQlEUk1f REVCVUdfS01TKCJubyBmaXhlZCBtb2RlXG4iKTsKPiArCQlkcm1fc3lzZnNfY29ubmVjdG9yX3Jl bW92ZShjb25uZWN0b3IpOwo+ICsJCWRybV9jb25uZWN0b3JfY2xlYW51cChjb25uZWN0b3IpOwo+ ICAJCWdvdG8gZXJyOwo+ICAJfQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHZvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYwo+IGluZGV4 IDNjNzczNjUuLjQzOWU5ZDkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHZvLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYwo+IEBAIC00 ODQsNiArNDg0LDcgQEAgdm9pZCBpbnRlbF9kdm9faW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+ICAJCXN0cnVjdCBpMmNfYWRhcHRlciAqaTJjOwo+ICAJCWludCBncGlvOwo+ICAJCWJvb2wg ZHZvaW5pdDsKPiArCQlpbnQgZXJyb3I7Cj4gIAo+ICAJCS8qIEFsbG93IHRoZSBJMkMgZHJpdmVy IGluZm8gdG8gc3BlY2lmeSB0aGUgR1BJTyB0byBiZSB1c2VkIGluCj4gIAkJICogc3BlY2lhbCBj YXNlcywgYnV0IG90aGVyd2lzZSBkZWZhdWx0IHRvIHdoYXQncyBkZWZpbmVkCj4gQEAgLTU1NSw3 ICs1NTYsMTIgQEAgdm9pZCBpbnRlbF9kdm9faW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ ICAJCQlpbnRlbF9kdm8tPnBhbmVsX3dhbnRzX2RpdGhlciA9IHRydWU7Cj4gIAkJfQo+ICAKPiAt CQlkcm1fc3lzZnNfY29ubmVjdG9yX2FkZChjb25uZWN0b3IpOwo+ICsJCWVycm9yID0gZHJtX3N5 c2ZzX2Nvbm5lY3Rvcl9hZGQoY29ubmVjdG9yKTsKPiArCQlpZiAoZXJyb3IpIHsKPiArCQkJZHJt X2Nvbm5lY3Rvcl9jbGVhbnVwKGNvbm5lY3Rvcik7Cj4gKwkJCWJyZWFrOwo+ICsJCX0KPiArCj4g IAkJcmV0dXJuOwo+ICAJfQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gaW5kZXgg NTFhODMzNi4uZjhlZTVjYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9oZG1pLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiBAQCAt MTIxMSw3ICsxMjExLDcgQEAgaW50ZWxfaGRtaV9hZGRfcHJvcGVydGllcyhzdHJ1Y3QgaW50ZWxf aGRtaSAqaW50ZWxfaGRtaSwgc3RydWN0IGRybV9jb25uZWN0b3IgKmMKPiAgCWludGVsX2hkbWkt PmNvbG9yX3JhbmdlX2F1dG8gPSB0cnVlOwo+ICB9Cj4gIAo+IC12b2lkIGludGVsX2hkbWlfaW5p dF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCj4g K2Jvb2wgaW50ZWxfaGRtaV9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICppbnRlbF9kaWdfcG9ydCwKPiAgCQkJICAgICAgIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmlu dGVsX2Nvbm5lY3RvcikKPiAgewo+ICAJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9 ICZpbnRlbF9jb25uZWN0b3ItPmJhc2U7Cj4gQEAgLTEyMjAsNiArMTIyMCw3IEBAIHZvaWQgaW50 ZWxfaGRtaV9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9k aWdfcG9ydCwKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9lbmNvZGVyLT5iYXNl LmRldjsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3By aXZhdGU7Cj4gIAllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5wb3J0Owo+ICsJaW50 IGVycm9yOwo+ICAKPiAgCWRybV9jb25uZWN0b3JfaW5pdChkZXYsIGNvbm5lY3RvciwgJmludGVs X2hkbWlfY29ubmVjdG9yX2Z1bmNzLAo+ICAJCQkgICBEUk1fTU9ERV9DT05ORUNUT1JfSERNSUEp Owo+IEBAIC0xMjc0LDcgKzEyNzUsMTEgQEAgdm9pZCBpbnRlbF9oZG1pX2luaXRfY29ubmVjdG9y KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAo+ICAJaW50ZWxfaGRt aV9hZGRfcHJvcGVydGllcyhpbnRlbF9oZG1pLCBjb25uZWN0b3IpOwo+ICAKPiAgCWludGVsX2Nv bm5lY3Rvcl9hdHRhY2hfZW5jb2RlcihpbnRlbF9jb25uZWN0b3IsIGludGVsX2VuY29kZXIpOwo+ IC0JZHJtX3N5c2ZzX2Nvbm5lY3Rvcl9hZGQoY29ubmVjdG9yKTsKPiArCWVycm9yID0gZHJtX3N5 c2ZzX2Nvbm5lY3Rvcl9hZGQoY29ubmVjdG9yKTsKPiArCWlmIChlcnJvcikgewo+ICsJCWRybV9j b25uZWN0b3JfY2xlYW51cChjb25uZWN0b3IpOwo+ICsJCXJldHVybiBmYWxzZTsKPiArCX0KPiAg Cj4gIAkvKiBGb3IgRzRYIGRlc2t0b3AgY2hpcCwgUEVHX0JBTkRfR0FQX0RBVEEgMzowIG11c3Qg Zmlyc3QgYmUgd3JpdHRlbgo+ICAJICogMHhkLiAgRmFpbHVyZSB0byBkbyBzbyB3aWxsIHJlc3Vs dCBpbiBzcHVyaW91cyBpbnRlcnJ1cHRzIGJlaW5nCj4gQEAgLTEyODQsNiArMTI4OSw4IEBAIHZv aWQgaW50ZWxfaGRtaV9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpp bnRlbF9kaWdfcG9ydCwKPiAgCQl1MzIgdGVtcCA9IEk5MTVfUkVBRChQRUdfQkFORF9HQVBfREFU QSk7Cj4gIAkJSTkxNV9XUklURShQRUdfQkFORF9HQVBfREFUQSwgKHRlbXAgJiB+MHhmKSB8IDB4 ZCk7Cj4gIAl9Cj4gKwo+ICsJcmV0dXJuIHRydWU7Cj4gIH0KPiAgCj4gIHZvaWQgaW50ZWxfaGRt aV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBoZG1pX3JlZywgZW51bSBwb3J0IHBv cnQpCj4gQEAgLTEzMjksNSArMTMzNiw4IEBAIHZvaWQgaW50ZWxfaGRtaV9pbml0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIGludCBoZG1pX3JlZywgZW51bSBwb3J0IHBvcnQpCj4gIAlpbnRlbF9k aWdfcG9ydC0+aGRtaS5oZG1pX3JlZyA9IGhkbWlfcmVnOwo+ICAJaW50ZWxfZGlnX3BvcnQtPmRw Lm91dHB1dF9yZWcgPSAwOwo+ICAKPiAtCWludGVsX2hkbWlfaW5pdF9jb25uZWN0b3IoaW50ZWxf ZGlnX3BvcnQsIGludGVsX2Nvbm5lY3Rvcik7Cj4gKwlpZiAoIWludGVsX2hkbWlfaW5pdF9jb25u ZWN0b3IoaW50ZWxfZGlnX3BvcnQsIGludGVsX2Nvbm5lY3RvcikpIHsKPiArCQlkcm1fZW5jb2Rl cl9jbGVhbnVwKCZpbnRlbF9lbmNvZGVyLT5iYXNlKTsKPiArCQlyZXR1cm47Cj4gKwl9Cj4gIH0K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCj4gaW5kZXggYjBlZjU1OC4uYTM1OGE1ZSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMKPiBAQCAtOTQxLDYgKzk0MSw3IEBAIHZvaWQg aW50ZWxfbHZkc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAl1MzIgbHZkczsKPiAg CWludCBwaXBlOwo+ICAJdTggcGluOwo+ICsJaW50IGVycm9yOwo+ICAKPiAgCWlmICghaW50ZWxf bHZkc19zdXBwb3J0ZWQoZGV2KSkKPiAgCQlyZXR1cm47Cj4gQEAgLTExMzcsNyArMTEzOCwxMSBA QCBvdXQ6Cj4gIAkJRFJNX0RFQlVHX0tNUygibGlkIG5vdGlmaWVyIHJlZ2lzdHJhdGlvbiBmYWls ZWRcbiIpOwo+ICAJCWx2ZHNfY29ubmVjdG9yLT5saWRfbm90aWZpZXIubm90aWZpZXJfY2FsbCA9 IE5VTEw7Cj4gIAl9Cj4gLQlkcm1fc3lzZnNfY29ubmVjdG9yX2FkZChjb25uZWN0b3IpOwo+ICsJ ZXJyb3IgPSBkcm1fc3lzZnNfY29ubmVjdG9yX2FkZChjb25uZWN0b3IpOwo+ICsJaWYgKGVycm9y KSB7Cj4gKwkJYWNwaV9saWRfbm90aWZpZXJfdW5yZWdpc3RlcigmbHZkc19jb25uZWN0b3ItPmxp ZF9ub3RpZmllcik7Cj4gKwkJZ290byBmYWlsZWQ7Cj4gKwl9Cj4gIAo+ICAJaW50ZWxfcGFuZWxf aW5pdCgmaW50ZWxfY29ubmVjdG9yLT5wYW5lbCwgZml4ZWRfbW9kZSk7Cj4gIAlpbnRlbF9wYW5l bF9zZXR1cF9iYWNrbGlnaHQoY29ubmVjdG9yKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfc2R2by5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5j Cj4gaW5kZXggYTU4M2U4Zi4uMjNkNzU4ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zZHZvLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZv LmMKPiBAQCAtMjM2MSwxMCArMjM2MSwxMiBAQCBpbnRlbF9zZHZvX2dldF9zbGF2ZV9hZGRyKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBpbnRlbF9zZHZvICpzZHZvKQo+ICAJCXJldHVy biAweDcyOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZAo+ICtzdGF0aWMgYm9vbAo+ICBpbnRlbF9z ZHZvX2Nvbm5lY3Rvcl9pbml0KHN0cnVjdCBpbnRlbF9zZHZvX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+ICAJCQkgIHN0cnVjdCBpbnRlbF9zZHZvICplbmNvZGVyKQo+ICB7Cj4gKwlpbnQgZXJyb3I7 Cj4gKwo+ICAJZHJtX2Nvbm5lY3Rvcl9pbml0KGVuY29kZXItPmJhc2UuYmFzZS5kZXYsCj4gIAkJ CSAgICZjb25uZWN0b3ItPmJhc2UuYmFzZSwKPiAgCQkJICAgJmludGVsX3Nkdm9fY29ubmVjdG9y X2Z1bmNzLAo+IEBAIC0yMzc5LDcgKzIzODEsMTMgQEAgaW50ZWxfc2R2b19jb25uZWN0b3JfaW5p dChzdHJ1Y3QgaW50ZWxfc2R2b19jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCWNvbm5lY3Rvci0+ YmFzZS5nZXRfaHdfc3RhdGUgPSBpbnRlbF9zZHZvX2Nvbm5lY3Rvcl9nZXRfaHdfc3RhdGU7Cj4g IAo+ICAJaW50ZWxfY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKCZjb25uZWN0b3ItPmJhc2UsICZl bmNvZGVyLT5iYXNlKTsKPiAtCWRybV9zeXNmc19jb25uZWN0b3JfYWRkKCZjb25uZWN0b3ItPmJh c2UuYmFzZSk7Cj4gKwllcnJvciA9IGRybV9zeXNmc19jb25uZWN0b3JfYWRkKCZjb25uZWN0b3It PmJhc2UuYmFzZSk7Cj4gKwlpZiAoZXJyb3IpIHsKPiArCQlkcm1fY29ubmVjdG9yX2NsZWFudXAo JmNvbm5lY3Rvci0+YmFzZS5iYXNlKTsKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwl9Cj4gKwo+ICsJ cmV0dXJuIHRydWU7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkCj4gQEAgLTI0MzksNyArMjQ0Nywx MSBAQCBpbnRlbF9zZHZvX2R2aV9pbml0KHN0cnVjdCBpbnRlbF9zZHZvICppbnRlbF9zZHZvLCBp bnQgZGV2aWNlKQo+ICAJCWludGVsX3Nkdm8tPmlzX2hkbWkgPSB0cnVlOwo+ICAJfQo+ICAKPiAt CWludGVsX3Nkdm9fY29ubmVjdG9yX2luaXQoaW50ZWxfc2R2b19jb25uZWN0b3IsIGludGVsX3Nk dm8pOwo+ICsJaWYgKCFpbnRlbF9zZHZvX2Nvbm5lY3Rvcl9pbml0KGludGVsX3Nkdm9fY29ubmVj dG9yLCBpbnRlbF9zZHZvKSkgewo+ICsJCWtmcmVlKGludGVsX3Nkdm9fY29ubmVjdG9yKTsKPiAr CQlyZXR1cm4gZmFsc2U7Cj4gKwl9Cj4gKwo+ICAJaWYgKGludGVsX3Nkdm8tPmlzX2hkbWkpCj4g IAkJaW50ZWxfc2R2b19hZGRfaGRtaV9wcm9wZXJ0aWVzKGludGVsX3Nkdm8sIGludGVsX3Nkdm9f Y29ubmVjdG9yKTsKPiAgCj4gQEAgLTI0NzAsNyArMjQ4MiwxMCBAQCBpbnRlbF9zZHZvX3R2X2lu aXQoc3RydWN0IGludGVsX3Nkdm8gKmludGVsX3Nkdm8sIGludCB0eXBlKQo+ICAKPiAgCWludGVs X3Nkdm8tPmlzX3R2ID0gdHJ1ZTsKPiAgCj4gLQlpbnRlbF9zZHZvX2Nvbm5lY3Rvcl9pbml0KGlu dGVsX3Nkdm9fY29ubmVjdG9yLCBpbnRlbF9zZHZvKTsKPiArCWlmICghaW50ZWxfc2R2b19jb25u ZWN0b3JfaW5pdChpbnRlbF9zZHZvX2Nvbm5lY3RvciwgaW50ZWxfc2R2bykpIHsKPiArCQlrZnJl ZShpbnRlbF9zZHZvX2Nvbm5lY3Rvcik7Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ICsJfQo+ICAKPiAg CWlmICghaW50ZWxfc2R2b190dl9jcmVhdGVfcHJvcGVydHkoaW50ZWxfc2R2bywgaW50ZWxfc2R2 b19jb25uZWN0b3IsIHR5cGUpKQo+ICAJCWdvdG8gZXJyOwo+IEBAIC0yNTE0LDggKzI1MjksMTEg QEAgaW50ZWxfc2R2b19hbmFsb2dfaW5pdChzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2bywg aW50IGRldmljZSkKPiAgCQlpbnRlbF9zZHZvX2Nvbm5lY3Rvci0+b3V0cHV0X2ZsYWcgPSBTRFZP X09VVFBVVF9SR0IxOwo+ICAJfQo+ICAKPiAtCWludGVsX3Nkdm9fY29ubmVjdG9yX2luaXQoaW50 ZWxfc2R2b19jb25uZWN0b3IsCj4gLQkJCQkgIGludGVsX3Nkdm8pOwo+ICsJaWYgKCFpbnRlbF9z ZHZvX2Nvbm5lY3Rvcl9pbml0KGludGVsX3Nkdm9fY29ubmVjdG9yLCBpbnRlbF9zZHZvKSkgewo+ ICsJCWtmcmVlKGludGVsX3Nkdm9fY29ubmVjdG9yKTsKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwl9 Cj4gKwo+ICAJcmV0dXJuIHRydWU7Cj4gIH0KPiAgCj4gQEAgLTI1NDYsNyArMjU2NCwxMSBAQCBp bnRlbF9zZHZvX2x2ZHNfaW5pdChzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2bywgaW50IGRl dmljZSkKPiAgCQlpbnRlbF9zZHZvX2Nvbm5lY3Rvci0+b3V0cHV0X2ZsYWcgPSBTRFZPX09VVFBV VF9MVkRTMTsKPiAgCX0KPiAgCj4gLQlpbnRlbF9zZHZvX2Nvbm5lY3Rvcl9pbml0KGludGVsX3Nk dm9fY29ubmVjdG9yLCBpbnRlbF9zZHZvKTsKPiArCWlmICghaW50ZWxfc2R2b19jb25uZWN0b3Jf aW5pdChpbnRlbF9zZHZvX2Nvbm5lY3RvciwgaW50ZWxfc2R2bykpIHsKPiArCQlrZnJlZShpbnRl bF9zZHZvX2Nvbm5lY3Rvcik7Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ICsJfQo+ICsKPiAgCWlmICgh aW50ZWxfc2R2b19jcmVhdGVfZW5oYW5jZV9wcm9wZXJ0eShpbnRlbF9zZHZvLCBpbnRlbF9zZHZv X2Nvbm5lY3RvcikpCj4gIAkJZ290byBlcnI7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF90di5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYuYwo+ IGluZGV4IDE4YzQwNjIuLmMxZTY2ZjYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfdHYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2LmMKPiBA QCAtMTU1NCw2ICsxNTU0LDcgQEAgaW50ZWxfdHZfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+ICAJdTMyIHR2X2RhY19vbiwgdHZfZGFjX29mZiwgc2F2ZV90dl9kYWM7Cj4gIAljaGFyICp0 dl9mb3JtYXRfbmFtZXNbQVJSQVlfU0laRSh0dl9tb2RlcyldOwo+ICAJaW50IGksIGluaXRpYWxf bW9kZSA9IDA7Cj4gKwlpbnQgZXJyb3I7Cj4gIAo+ICAJaWYgKChJOTE1X1JFQUQoVFZfQ1RMKSAm IFRWX0ZVU0VfU1RBVEVfTUFTSykgPT0gVFZfRlVTRV9TVEFURV9ESVNBQkxFRCkKPiAgCQlyZXR1 cm47Cj4gQEAgLTE2NjgsNSArMTY2OSwxMiBAQCBpbnRlbF90dl9pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCj4gIAlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNl LAo+ICAJCQkJICAgZGV2LT5tb2RlX2NvbmZpZy50dl9ib3R0b21fbWFyZ2luX3Byb3BlcnR5LAo+ ICAJCQkJICAgaW50ZWxfdHYtPm1hcmdpbltUVl9NQVJHSU5fQk9UVE9NXSk7Cj4gLQlkcm1fc3lz ZnNfY29ubmVjdG9yX2FkZChjb25uZWN0b3IpOwo+ICsJZXJyb3IgPSBkcm1fc3lzZnNfY29ubmVj dG9yX2FkZChjb25uZWN0b3IpOwo+ICsJaWYgKGVycm9yKSB7Cj4gKwkJZHJtX2Nvbm5lY3Rvcl9j bGVhbnVwKGNvbm5lY3Rvcik7Cj4gKwkJZHJtX2VuY29kZXJfY2xlYW51cCgmaW50ZWxfZW5jb2Rl ci0+YmFzZSk7Cj4gKwkJa2ZyZWUoaW50ZWxfY29ubmVjdG9yKTsKPiArCQlrZnJlZShpbnRlbF90 dik7Cj4gKwkJcmV0dXJuOwo+ICsJfQo+ICB9Cj4gLS0gCj4gMS44LjEuNQo+Cj4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKCi0tIApKYW5pIE5pa3Vs YSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXIKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK