From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH v2 01/28] drm: omapdrm: Remove duplicate error messages when mapping memory Date: Mon, 08 May 2017 16:55:57 +0300 Message-ID: <3308745.hn17PlIDME@avalon> References: <20170508113303.27521-1-laurent.pinchart@ideasonboard.com> <20170508113303.27521-2-laurent.pinchart@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from galahad.ideasonboard.com (galahad.ideasonboard.com [185.26.127.97]) by gabe.freedesktop.org (Postfix) with ESMTPS id BB78B6E236 for ; Mon, 8 May 2017 13:55:58 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Tomi Valkeinen Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SGkgVG9taSwKCk9uIE1vbmRheSAwOCBNYXkgMjAxNyAxNTo1MjowNyBUb21pIFZhbGtlaW5lbiB3 cm90ZToKPiBPbiAwOC8wNS8xNyAxNDozMiwgTGF1cmVudCBQaW5jaGFydCB3cm90ZToKPiA+IFRo ZSBkZXZtX2lvcmVtYXBfcmVzb3VyY2UoKSBjYWxsIGNhbiBoYW5kbGUgYmVpbmcgZ2l2ZW4gYSBO VUxMIHJlc291cmNlLAo+ID4gYW5kIHByaW50cyBhbiBlcnJvciBtZXNzYWdlIHdoZW4gbWFwcGlu ZyBmYWlscy4gU3dpdGNoIHRoZSByZW1haW5pbmcKPiA+IGRldm1faW9yZW1hcCgpIGNhbGxzIHRv IGRldm1faW9yZW1hcF9yZXNvdXJjZSgpIGFuZCByZW1vdmUgYWxsCj4gPiBleHRyYW5lb3VzIHJl c291cmNlIE5VTEwgY2hlY2tzIGFuZCBlcnJvciBtZXNzYWdlcyBwcmludGVkIG1hbnVhbGx5IGJ5 Cj4gPiB0aGUgZHJpdmVyLgo+IAo+IExvb2tzIGxpa2UgaW4gc29tZSBwbGFjZXMgd2UgY2hlY2sg Zm9yICIhcmV0IiBhbmQgaW4gc29tZSAiSVNfRVJSKHJldCkiLi4uCgpPb3BzIDotLwoKRnJvbSA5 NGQyYThmNDQ1Y2QyOThkOTlmZmM0NzE3ZDIxODRkY2YyMWU4ODg5IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25i b2FyZC5jb20+CkRhdGU6IFN1biwgNyBNYXkgMjAxNyAwMDoyOTowOSArMDMwMApTdWJqZWN0OiBb UEFUQ0ggdjIuMSAwMS8yOF0gZHJtOiBvbWFwZHJtOiBSZW1vdmUgZHVwbGljYXRlIGVycm9yIG1l c3NhZ2VzIHdoZW4gbWFwcGluZyBtZW1vcnkKClRoZSBkZXZtX2lvcmVtYXBfcmVzb3VyY2UoKSBj YWxsIGNhbiBoYW5kbGUgYmVpbmcgZ2l2ZW4gYSBOVUxMIHJlc291cmNlLAphbmQgcHJpbnRzIGFu IGVycm9yIG1lc3NhZ2Ugd2hlbiBtYXBwaW5nIGZhaWxzLiBTd2l0Y2ggdGhlIHJlbWFpbmluZwpk ZXZtX2lvcmVtYXAoKSBjYWxscyB0byBkZXZtX2lvcmVtYXBfcmVzb3VyY2UoKSBhbmQgcmVtb3Zl IGFsbApleHRyYW5lb3VzIHJlc291cmNlIE5VTEwgY2hlY2tzIGFuZCBlcnJvciBtZXNzYWdlcyBw cmludGVkIG1hbnVhbGx5IGJ5CnRoZSBkcml2ZXIuCgpTaWduZWQtb2ZmLWJ5OiBMYXVyZW50IFBp bmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+Ci0tLQpDaGFuZ2VzIHNp bmNlIHYyOgoKLSBGaXggZGV2bV9pb3JlbWFwX3Jlc291cmNlKCkgcmV0dXJuIHZhbHVlIGNoZWNr cwotLS0KIGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9kaXNwYy5jICAgICAgfCAxNCArKyst LS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL2RzaS5jICAgICAgICB8IDI3 ICsrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNz L2Rzcy5jICAgICAgICB8IDE0ICsrKy0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vb21hcGRy bS9kc3MvaGRtaTRfY29yZS5jIHwgIDkgKy0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vb21hcGRy bS9kc3MvaGRtaTVfY29yZS5jIHwgIDkgKy0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vb21hcGRy bS9kc3MvaGRtaV9waHkuYyAgIHwgIDkgKy0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vb21hcGRy bS9kc3MvaGRtaV9wbGwuYyAgIHwgIDkgKy0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vb21hcGRy bS9kc3MvaGRtaV93cC5jICAgIHwgMTIgKysrLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vb21h cGRybS9kc3MvcmZiaS5jICAgICAgIHwgMTQgKysrLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9vbWFwZHJtL2Rzcy92ZW5jLmMgICAgICAgfCAxNCArKystLS0tLS0tLS0tLQogZHJpdmVycy9n cHUvZHJtL29tYXBkcm0vZHNzL3ZpZGVvLXBsbC5jICB8IDIwICsrLS0tLS0tLS0tLS0tLS0tLS0t CiAxMSBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAxMjEgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL2Rpc3BjLmMgYi9kcml2ZXJz L2dwdS9kcm0vb21hcGRybS9kc3MvZGlzcGMuYwppbmRleCBkOTU2ZTYyNjYzNjguLjU5ZmQ2YmFj NDMwNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL2Rpc3BjLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL2Rpc3BjLmMKQEAgLTQzNjMsMTcgKzQzNjMs OSBAQCBzdGF0aWMgaW50IGRpc3BjX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2 aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCiAJCXJldHVybiByOwogCiAJZGlzcGNfbWVtID0gcGxh dGZvcm1fZ2V0X3Jlc291cmNlKGRpc3BjLnBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKLQlpZiAo IWRpc3BjX21lbSkgewotCQlEU1NFUlIoImNhbid0IGdldCBJT1JFU09VUkNFX01FTSBESVNQQ1xu Iik7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQotCWRpc3BjLmJhc2UgPSBkZXZtX2lvcmVtYXAo JnBkZXYtPmRldiwgZGlzcGNfbWVtLT5zdGFydCwKLQkJCQkgIHJlc291cmNlX3NpemUoZGlzcGNf bWVtKSk7Ci0JaWYgKCFkaXNwYy5iYXNlKSB7Ci0JCURTU0VSUigiY2FuJ3QgaW9yZW1hcCBESVNQ Q1xuIik7Ci0JCXJldHVybiAtRU5PTUVNOwotCX0KKwlkaXNwYy5iYXNlID0gZGV2bV9pb3JlbWFw X3Jlc291cmNlKCZwZGV2LT5kZXYsIGRpc3BjX21lbSk7CisJaWYgKElTX0VSUihkaXNwYy5iYXNl KSkKKwkJcmV0dXJuIFBUUl9FUlIoZGlzY3AuYmFzZSk7CiAKIAlkaXNwYy5pcnEgPSBwbGF0Zm9y bV9nZXRfaXJxKGRpc3BjLnBkZXYsIDApOwogCWlmIChkaXNwYy5pcnEgPCAwKSB7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0v b21hcGRybS9kc3MvZHNpLmMKaW5kZXggZjc0NjE1ZDAwNWE4Li41Mzg4Zjc5ODM1NmEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9kc2kuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vb21hcGRybS9kc3MvZHNpLmMKQEAgLTUzMjYsMTIgKzUzMjYsOSBAQCBzdGF0aWMgaW50 IGRzaV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLCB2b2lk ICpkYXRhKQogCiAJZHNpX21lbSA9IHJlczsKIAotCWRzaS0+cHJvdG9fYmFzZSA9IGRldm1faW9y ZW1hcCgmZHNpZGV2LT5kZXYsIHJlcy0+c3RhcnQsCi0JCXJlc291cmNlX3NpemUocmVzKSk7Ci0J aWYgKCFkc2ktPnByb3RvX2Jhc2UpIHsKLQkJRFNTRVJSKCJjYW4ndCBpb3JlbWFwIERTSSBwcm90 b2NvbCBlbmdpbmVcbiIpOwotCQlyZXR1cm4gLUVOT01FTTsKLQl9CisJZHNpLT5wcm90b19iYXNl ID0gZGV2bV9pb3JlbWFwX3Jlc291cmNlKCZkc2lkZXYtPmRldiwgcmVzKTsKKwlpZiAoSVNfRVJS KGRzaS0+cHJvdG9fYmFzZSkpCisJCXJldHVybiBQVFJfRVJSKGRzaS0+cHJvdG9fYmFzZSk7CiAK IAlyZXMgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2VfYnluYW1lKGRzaWRldiwgSU9SRVNPVVJDRV9N RU0sICJwaHkiKTsKIAlpZiAoIXJlcykgewpAQCAtNTM0NiwxMiArNTM0Myw5IEBAIHN0YXRpYyBp bnQgZHNpX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZv aWQgKmRhdGEpCiAJCXJlcyA9ICZ0ZW1wX3JlczsKIAl9CiAKLQlkc2ktPnBoeV9iYXNlID0gZGV2 bV9pb3JlbWFwKCZkc2lkZXYtPmRldiwgcmVzLT5zdGFydCwKLQkJcmVzb3VyY2Vfc2l6ZShyZXMp KTsKLQlpZiAoIWRzaS0+cGh5X2Jhc2UpIHsKLQkJRFNTRVJSKCJjYW4ndCBpb3JlbWFwIERTSSBQ SFlcbiIpOwotCQlyZXR1cm4gLUVOT01FTTsKLQl9CisJZHNpLT5waHlfYmFzZSA9IGRldm1faW9y ZW1hcF9yZXNvdXJjZSgmZHNpZGV2LT5kZXYsIHJlcyk7CisJaWYgKElTX0VSUihkc2ktPnBoeV9i YXNlKSkKKwkJcmV0dXJuIFBUUl9FUlIoZHNpLT5waHlfYmFzZSk7CiAKIAlyZXMgPSBwbGF0Zm9y bV9nZXRfcmVzb3VyY2VfYnluYW1lKGRzaWRldiwgSU9SRVNPVVJDRV9NRU0sICJwbGwiKTsKIAlp ZiAoIXJlcykgewpAQCAtNTM2NiwxMiArNTM2MCw5IEBAIHN0YXRpYyBpbnQgZHNpX2JpbmQoc3Ry dWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCiAJCXJl cyA9ICZ0ZW1wX3JlczsKIAl9CiAKLQlkc2ktPnBsbF9iYXNlID0gZGV2bV9pb3JlbWFwKCZkc2lk ZXYtPmRldiwgcmVzLT5zdGFydCwKLQkJcmVzb3VyY2Vfc2l6ZShyZXMpKTsKLQlpZiAoIWRzaS0+ cGxsX2Jhc2UpIHsKLQkJRFNTRVJSKCJjYW4ndCBpb3JlbWFwIERTSSBQTExcbiIpOwotCQlyZXR1 cm4gLUVOT01FTTsKLQl9CisJZHNpLT5wbGxfYmFzZSA9IGRldm1faW9yZW1hcF9yZXNvdXJjZSgm ZHNpZGV2LT5kZXYsIHJlcyk7CisJaWYgKElTX0VSUihkc2ktPnBsbF9iYXNlKSkKKwkJcmV0dXJu IFBUUl9FUlIoZHNpLT5wbGxfYmFzZSk7CiAKIAlkc2ktPmlycSA9IHBsYXRmb3JtX2dldF9pcnEo ZHNpLT5wZGV2LCAwKTsKIAlpZiAoZHNpLT5pcnEgPCAwKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vb21hcGRybS9kc3MvZHNzLmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3Mv ZHNzLmMKaW5kZXggMTQ4ODdkNWIwMmU1Li40YmZkY2M0N2IyZWUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9kc3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRy bS9kc3MvZHNzLmMKQEAgLTEyMDEsMTcgKzEyMDEsOSBAQCBzdGF0aWMgaW50IGRzc19iaW5kKHN0 cnVjdCBkZXZpY2UgKmRldikKIAkJcmV0dXJuIHI7CiAKIAlkc3NfbWVtID0gcGxhdGZvcm1fZ2V0 X3Jlc291cmNlKGRzcy5wZGV2LCBJT1JFU09VUkNFX01FTSwgMCk7Ci0JaWYgKCFkc3NfbWVtKSB7 Ci0JCURTU0VSUigiY2FuJ3QgZ2V0IElPUkVTT1VSQ0VfTUVNIERTU1xuIik7Ci0JCXJldHVybiAt RUlOVkFMOwotCX0KLQotCWRzcy5iYXNlID0gZGV2bV9pb3JlbWFwKCZwZGV2LT5kZXYsIGRzc19t ZW0tPnN0YXJ0LAotCQkJCXJlc291cmNlX3NpemUoZHNzX21lbSkpOwotCWlmICghZHNzLmJhc2Up IHsKLQkJRFNTRVJSKCJjYW4ndCBpb3JlbWFwIERTU1xuIik7Ci0JCXJldHVybiAtRU5PTUVNOwot CX0KKwlkc3MuYmFzZSA9IGRldm1faW9yZW1hcF9yZXNvdXJjZSgmcGRldi0+ZGV2LCBkc3NfbWVt KTsKKwlpZiAoSVNfRVJSKGRzcy5iYXNlKSkKKwkJcmV0dXJuIFBUUl9FUlIoZHNzLmJhc2UpOwog CiAJciA9IGRzc19nZXRfY2xvY2tzKCk7CiAJaWYgKHIpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vb21hcGRybS9kc3MvaGRtaTRfY29yZS5jIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0v ZHNzL2hkbWk0X2NvcmUuYwppbmRleCBlMDViN2FjNGY3ZGQuLmVkNjAwMTYxMzQwNSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL2hkbWk0X2NvcmUuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvaGRtaTRfY29yZS5jCkBAIC04ODksMTYgKzg4OSw5IEBA IGludCBoZG1pNF9jb3JlX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgc3RydWN0 IGhkbWlfY29yZV9kYXRhICpjb3JlKQogCXN0cnVjdCByZXNvdXJjZSAqcmVzOwogCiAJcmVzID0g cGxhdGZvcm1fZ2V0X3Jlc291cmNlX2J5bmFtZShwZGV2LCBJT1JFU09VUkNFX01FTSwgImNvcmUi KTsKLQlpZiAoIXJlcykgewotCQlEU1NFUlIoImNhbid0IGdldCBDT1JFIG1lbSByZXNvdXJjZVxu Iik7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQogCWNvcmUtPmJhc2UgPSBkZXZtX2lvcmVtYXBf cmVzb3VyY2UoJnBkZXYtPmRldiwgcmVzKTsKLQlpZiAoSVNfRVJSKGNvcmUtPmJhc2UpKSB7Ci0J CURTU0VSUigiY2FuJ3QgaW9yZW1hcCBDT1JFXG4iKTsKKwlpZiAoSVNfRVJSKGNvcmUtPmJhc2Up KQogCQlyZXR1cm4gUFRSX0VSUihjb3JlLT5iYXNlKTsKLQl9CiAKIAlyZXR1cm4gMDsKIH0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9oZG1pNV9jb3JlLmMgYi9kcml2 ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvaGRtaTVfY29yZS5jCmluZGV4IDhkZTFkN2IyYWU1NS4u YWIxNzllYzEzM2MwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvaGRt aTVfY29yZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9oZG1pNV9jb3JlLmMK QEAgLTkxMCwxNiArOTEwLDkgQEAgaW50IGhkbWk1X2NvcmVfaW5pdChzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2LCBzdHJ1Y3QgaGRtaV9jb3JlX2RhdGEgKmNvcmUpCiAJc3RydWN0IHJlc291 cmNlICpyZXM7CiAKIAlyZXMgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2VfYnluYW1lKHBkZXYsIElP UkVTT1VSQ0VfTUVNLCAiY29yZSIpOwotCWlmICghcmVzKSB7Ci0JCURTU0VSUigiY2FuJ3QgZ2V0 IENPUkUgSU9SRVNPVVJDRV9NRU0gSERNSVxuIik7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQog CWNvcmUtPmJhc2UgPSBkZXZtX2lvcmVtYXBfcmVzb3VyY2UoJnBkZXYtPmRldiwgcmVzKTsKLQlp ZiAoSVNfRVJSKGNvcmUtPmJhc2UpKSB7Ci0JCURTU0VSUigiY2FuJ3QgaW9yZW1hcCBIRE1JIGNv cmVcbiIpOworCWlmIChJU19FUlIoY29yZS0+YmFzZSkpCiAJCXJldHVybiBQVFJfRVJSKGNvcmUt PmJhc2UpOwotCX0KIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L29tYXBkcm0vZHNzL2hkbWlfcGh5LmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvaGRt aV9waHkuYwppbmRleCAzZWFkNDdjY2NhYzUuLmZiNWU0YzcyNGI0YiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL2hkbWlfcGh5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L29tYXBkcm0vZHNzL2hkbWlfcGh5LmMKQEAgLTIzMywxNiArMjMzLDkgQEAgaW50IGhkbWlfcGh5 X2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgc3RydWN0IGhkbWlfcGh5X2RhdGEg KnBoeSkKIAkJcmV0dXJuIHI7CiAKIAlyZXMgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2VfYnluYW1l KHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAicGh5Iik7Ci0JaWYgKCFyZXMpIHsKLQkJRFNTRVJSKCJj YW4ndCBnZXQgUEhZIG1lbSByZXNvdXJjZVxuIik7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQog CXBoeS0+YmFzZSA9IGRldm1faW9yZW1hcF9yZXNvdXJjZSgmcGRldi0+ZGV2LCByZXMpOwotCWlm IChJU19FUlIocGh5LT5iYXNlKSkgewotCQlEU1NFUlIoImNhbid0IGlvcmVtYXAgVFggUEhZXG4i KTsKKwlpZiAoSVNfRVJSKHBoeS0+YmFzZSkpCiAJCXJldHVybiBQVFJfRVJSKHBoeS0+YmFzZSk7 Ci0JfQogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRy bS9kc3MvaGRtaV9wbGwuYyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9oZG1pX3BsbC5j CmluZGV4IGI4YmY2YTllNTU1Ny4uNDYyMzkzNTg2NTVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vb21hcGRybS9kc3MvaGRtaV9wbGwuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRy bS9kc3MvaGRtaV9wbGwuYwpAQCAtMTgwLDE2ICsxODAsOSBAQCBpbnQgaGRtaV9wbGxfaW5pdChz dHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBzdHJ1Y3QgaGRtaV9wbGxfZGF0YSAqcGxsLAog CXBsbC0+d3AgPSB3cDsKIAogCXJlcyA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZV9ieW5hbWUocGRl diwgSU9SRVNPVVJDRV9NRU0sICJwbGwiKTsKLQlpZiAoIXJlcykgewotCQlEU1NFUlIoImNhbid0 IGdldCBQTEwgbWVtIHJlc291cmNlXG4iKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCiAJcGxs LT5iYXNlID0gZGV2bV9pb3JlbWFwX3Jlc291cmNlKCZwZGV2LT5kZXYsIHJlcyk7Ci0JaWYgKElT X0VSUihwbGwtPmJhc2UpKSB7Ci0JCURTU0VSUigiY2FuJ3QgaW9yZW1hcCBQTExDVFJMXG4iKTsK KwlpZiAoSVNfRVJSKHBsbC0+YmFzZSkpCiAJCXJldHVybiBQVFJfRVJSKHBsbC0+YmFzZSk7Ci0J fQogCiAJciA9IGRzaV9pbml0X3BsbF9kYXRhKHBkZXYsIHBsbCk7CiAJaWYgKHIpIHsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9oZG1pX3dwLmMgYi9kcml2ZXJzL2dw dS9kcm0vb21hcGRybS9kc3MvaGRtaV93cC5jCmluZGV4IGI3ODNkNWEwNzUwZS4uYjFhYjllNTYz OTE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvaGRtaV93cC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9oZG1pX3dwLmMKQEAgLTI4NSwxNyArMjg1 LDExIEBAIGludCBoZG1pX3dwX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgc3Ry dWN0IGhkbWlfd3BfZGF0YSAqd3ApCiAJc3RydWN0IHJlc291cmNlICpyZXM7CiAKIAlyZXMgPSBw bGF0Zm9ybV9nZXRfcmVzb3VyY2VfYnluYW1lKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAid3AiKTsK LQlpZiAoIXJlcykgewotCQlEU1NFUlIoImNhbid0IGdldCBXUCBtZW0gcmVzb3VyY2VcbiIpOwot CQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0Jd3AtPnBoeXNfYmFzZSA9IHJlcy0+c3RhcnQ7Ci0KIAl3 cC0+YmFzZSA9IGRldm1faW9yZW1hcF9yZXNvdXJjZSgmcGRldi0+ZGV2LCByZXMpOwotCWlmIChJ U19FUlIod3AtPmJhc2UpKSB7Ci0JCURTU0VSUigiY2FuJ3QgaW9yZW1hcCBIRE1JIFdQXG4iKTsK KwlpZiAoSVNfRVJSKHdwLT5iYXNlKSkKIAkJcmV0dXJuIFBUUl9FUlIod3AtPmJhc2UpOwotCX0K KworCXdwLT5waHlzX2Jhc2UgPSByZXMtPnN0YXJ0OwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvcmZiaS5jIGIvZHJpdmVycy9ncHUvZHJt L29tYXBkcm0vZHNzL3JmYmkuYwppbmRleCAwOTcyNDc1NzM2NmEuLmJmNmI5Njg3N2RhZiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL3JmYmkuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vb21hcGRybS9kc3MvcmZiaS5jCkBAIC05NjUsMTcgKzk2NSw5IEBAIHN0YXRpYyBp bnQgcmZiaV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLCB2 b2lkICpkYXRhKQogCXNlbWFfaW5pdCgmcmZiaS5idXNfbG9jaywgMSk7CiAKIAlyZmJpX21lbSA9 IHBsYXRmb3JtX2dldF9yZXNvdXJjZShyZmJpLnBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKLQlp ZiAoIXJmYmlfbWVtKSB7Ci0JCURTU0VSUigiY2FuJ3QgZ2V0IElPUkVTT1VSQ0VfTUVNIFJGQklc biIpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQlyZmJpLmJhc2UgPSBkZXZtX2lvcmVtYXAo JnBkZXYtPmRldiwgcmZiaV9tZW0tPnN0YXJ0LAotCQkJCSByZXNvdXJjZV9zaXplKHJmYmlfbWVt KSk7Ci0JaWYgKCFyZmJpLmJhc2UpIHsKLQkJRFNTRVJSKCJjYW4ndCBpb3JlbWFwIFJGQklcbiIp OwotCQlyZXR1cm4gLUVOT01FTTsKLQl9CisJcmZiaS5iYXNlID0gZGV2bV9pb3JlbWFwX3Jlc291 cmNlKCZwZGV2LT5kZXYsIHJmYmlfbWVtKTsKKwlpZiAoSVNfRVJSKHJmYmkuYmFzZSkpCisJCXJl dHVybiBQVFJfRVJSKHJmYmkuYmFzZSk7CiAKIAljbGsgPSBjbGtfZ2V0KCZwZGV2LT5kZXYsICJp Y2siKTsKIAlpZiAoSVNfRVJSKGNsaykpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9v bWFwZHJtL2Rzcy92ZW5jLmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvdmVuYy5jCmlu ZGV4IGQ3NGY3ZmNjMmU0Ni4uMTgxMWQzNjA0NjZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vb21hcGRybS9kc3MvdmVuYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy92 ZW5jLmMKQEAgLTg2OCwxNyArODY4LDkgQEAgc3RhdGljIGludCB2ZW5jX2JpbmQoc3RydWN0IGRl dmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCiAJdmVuYy53c3Nf ZGF0YSA9IDA7CiAKIAl2ZW5jX21lbSA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZSh2ZW5jLnBkZXYs IElPUkVTT1VSQ0VfTUVNLCAwKTsKLQlpZiAoIXZlbmNfbWVtKSB7Ci0JCURTU0VSUigiY2FuJ3Qg Z2V0IElPUkVTT1VSQ0VfTUVNIFZFTkNcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQl2 ZW5jLmJhc2UgPSBkZXZtX2lvcmVtYXAoJnBkZXYtPmRldiwgdmVuY19tZW0tPnN0YXJ0LAotCQkJ CSByZXNvdXJjZV9zaXplKHZlbmNfbWVtKSk7Ci0JaWYgKCF2ZW5jLmJhc2UpIHsKLQkJRFNTRVJS KCJjYW4ndCBpb3JlbWFwIFZFTkNcbiIpOwotCQlyZXR1cm4gLUVOT01FTTsKLQl9CisJdmVuYy5i YXNlID0gZGV2bV9pb3JlbWFwX3Jlc291cmNlKCZwZGV2LT5kZXYsIHZlbmNfbWVtKTsKKwlpZiAo SVNfRVJSKHZlbmMuYmFzZSkpCisJCXJldHVybiBQVFJfRVJSKHZlbmMuYmFzZSk7CiAKIAlyID0g dmVuY19nZXRfY2xvY2tzKHBkZXYpOwogCWlmIChyKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL29tYXBkcm0vZHNzL3ZpZGVvLXBsbC5jIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNz L3ZpZGVvLXBsbC5jCmluZGV4IDc0MjlkZTkyOGQ0ZS4uZmJkMTI2M2EyOWE0IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvdmlkZW8tcGxsLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL29tYXBkcm0vZHNzL3ZpZGVvLXBsbC5jCkBAIC0xNTAsMzMgKzE1MCwxNyBAQCBzdHJ1 Y3QgZHNzX3BsbCAqZHNzX3ZpZGVvX3BsbF9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYsIGludCBpZCwKIAkvKiBQTEwgQ09OVFJPTCAqLwogCiAJcmVzID0gcGxhdGZvcm1fZ2V0X3Jl c291cmNlX2J5bmFtZShwZGV2LCBJT1JFU09VUkNFX01FTSwgcmVnX25hbWVbaWRdKTsKLQlpZiAo IXJlcykgewotCQlkZXZfZXJyKCZwZGV2LT5kZXYsCi0JCQkibWlzc2luZyBwbGF0Zm9ybSByZXNv dXJjZSBkYXRhIGZvciBwbGwlZFxuIiwgaWQpOwotCQlyZXR1cm4gRVJSX1BUUigtRU5PREVWKTsK LQl9Ci0KIAlwbGxfYmFzZSA9IGRldm1faW9yZW1hcF9yZXNvdXJjZSgmcGRldi0+ZGV2LCByZXMp OwotCWlmIChJU19FUlIocGxsX2Jhc2UpKSB7Ci0JCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxl ZCB0byBpb3JlbWFwIHBsbCVkIHJlZ19uYW1lXG4iLCBpZCk7CisJaWYgKElTX0VSUihwbGxfYmFz ZSkpCiAJCXJldHVybiBFUlJfQ0FTVChwbGxfYmFzZSk7Ci0JfQogCiAJLyogQ0xPQ0sgQ09OVFJP TCAqLwogCiAJcmVzID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlX2J5bmFtZShwZGV2LCBJT1JFU09V UkNFX01FTSwKIAkJY2xrY3RybF9uYW1lW2lkXSk7Ci0JaWYgKCFyZXMpIHsKLQkJZGV2X2Vycigm cGRldi0+ZGV2LAotCQkJIm1pc3NpbmcgcGxhdGZvcm0gcmVzb3VyY2UgZGF0YSBmb3IgcGxsJWRc biIsIGlkKTsKLQkJcmV0dXJuIEVSUl9QVFIoLUVOT0RFVik7Ci0JfQotCiAJY2xrY3RybF9iYXNl ID0gZGV2bV9pb3JlbWFwX3Jlc291cmNlKCZwZGV2LT5kZXYsIHJlcyk7Ci0JaWYgKElTX0VSUihj bGtjdHJsX2Jhc2UpKSB7Ci0JCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byBpb3JlbWFw IHBsbCVkIGNsa2N0cmxcbiIsIGlkKTsKKwlpZiAoSVNfRVJSKGNsa2N0cmxfYmFzZSkpCiAJCXJl dHVybiBFUlJfQ0FTVChjbGtjdHJsX2Jhc2UpOwotCX0KIAogCS8qIENMS0lOICovCiAKLS0gClJl Z2FyZHMsCgpMYXVyZW50IFBpbmNoYXJ0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwK