From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v2 10/10] drm/i915: Clean up DP code local variables and calling conventions Date: Thu, 9 Nov 2017 17:27:58 +0200 Message-ID: <20171109152758.32257-1-ville.syrjala@linux.intel.com> References: <20171031205123.13123-11-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5FBAF6E349 for ; Thu, 9 Nov 2017 15:28:01 +0000 (UTC) In-Reply-To: <20171031205123.13123-11-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkVs aW1pbmF0ZSBhIHRvbiBvZiBwb2ludGxlc3MgJ2RldicgdmFyaWFibGVzIGluIHRoZSBEUCBjb2Rl LCBhbmQgcGFzcwphcm91bmQgJ2Rldl9wcml2JyBpbnN0ZWFkIG9mICdkZXYnLgoKdjI6IFJlYmFz ZQoKQWNrZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+ClJldmlld2Vk LWJ5OiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFuQGludGVsLmNvbT4K U2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIHwgMTUxICsrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1NCBpbnNl cnRpb25zKCspLCA5NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwppbmRleCAz NDc1NWI2ZjFkYTAuLmJiY2JjYjI1MDU5NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCkBAIC00 MzgsMTAgKzQzOCw3IEBAIGludGVsX2RwX3Bwc19pbml0KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApOwogCiBzdGF0aWMgdm9pZCBwcHNfbG9jayhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQog ewotCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGln X3BvcnQoaW50ZWxfZHApOwotCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0gJmludGVs X2RpZ19wb3J0LT5iYXNlOwotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNl LmRldjsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9kcF90 b19kZXYoaW50ZWxfZHApKTsKIAogCS8qCiAJICogU2VlIHZsdl9wb3dlcl9zZXF1ZW5jZXJfcmVz ZXQoKSB3aHkgd2UgbmVlZApAQCAtNDU0LDEwICs0NTEsNyBAQCBzdGF0aWMgdm9pZCBwcHNfbG9j ayhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCiBzdGF0aWMgdm9pZCBwcHNfdW5sb2NrKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7Ci0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq aW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7Ci0Jc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIgPSAmaW50ZWxfZGlnX3BvcnQtPmJhc2U7Ci0Jc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGludGVsX2RwX3RvX2RldihpbnRlbF9kcCkpOwogCiAJbXV0ZXhfdW5s b2NrKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKIApAQCAtNDY3LDggKzQ2MSw4IEBAIHN0YXRpYyB2 b2lkIHBwc191bmxvY2soc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIHN0YXRpYyB2b2lkCiB2 bHZfcG93ZXJfc2VxdWVuY2VyX2tpY2soc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIHsKKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVsX2RwX3RvX2Rl dihpbnRlbF9kcCkpOwogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0 ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOwogCWVudW0g cGlwZSBwaXBlID0gaW50ZWxfZHAtPnBwc19waXBlOwogCWJvb2wgcGxsX2VuYWJsZWQsIHJlbGVh c2VfY2xfb3ZlcnJpZGUgPSBmYWxzZTsKIAllbnVtIGRwaW9fcGh5IHBoeSA9IERQSU9fUEhZKHBp cGUpOwpAQCAtNzMzLDcgKzcyNyw2IEBAIHZsdl9pbml0aWFsX3Bvd2VyX3NlcXVlbmNlcl9zZXR1 cChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCiB2b2lkIGludGVsX3Bvd2VyX3NlcXVlbmNl cl9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0Jc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9ICZkZXZfcHJpdi0+ZHJtOwogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyOwogCiAJaWYgKFdBUk5fT04oIUlTX1ZBTExFWVZJRVcoZGV2X3ByaXYpICYmICFJU19D SEVSUllWSUVXKGRldl9wcml2KSAmJgpAQCAtNzUwLDcgKzc0Myw3IEBAIHZvaWQgaW50ZWxfcG93 ZXJfc2VxdWVuY2VyX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkg KiBzaG91bGQgdXNlIHRoZW0gYWx3YXlzLgogCSAqLwogCi0JZm9yX2VhY2hfaW50ZWxfZW5jb2Rl cihkZXYsIGVuY29kZXIpIHsKKwlmb3JfZWFjaF9pbnRlbF9lbmNvZGVyKCZkZXZfcHJpdi0+ZHJt LCBlbmNvZGVyKSB7CiAJCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHA7CiAKIAkJaWYgKGVuY29k ZXItPnR5cGUgIT0gSU5URUxfT1VUUFVUX0RQICYmCkBAIC04MzIsOCArODI1LDcgQEAgc3RhdGlj IGludCBlZHBfbm90aWZ5X2hhbmRsZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICp0aGlzLCB1bnNp Z25lZCBsb25nIGNvZGUsCiB7CiAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGNvbnRhaW5l cl9vZih0aGlzLCB0eXBlb2YoKiBpbnRlbF9kcCksCiAJCQkJCQkgZWRwX25vdGlmaWVyKTsKLQlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKTsKLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CisJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9kcF90b19kZXYoaW50ZWxf ZHApKTsKIAogCWlmICghaW50ZWxfZHBfaXNfZWRwKGludGVsX2RwKSB8fCBjb2RlICE9IFNZU19S RVNUQVJUKQogCQlyZXR1cm4gMDsKQEAgLTg2Myw4ICs4NTUsNyBAQCBzdGF0aWMgaW50IGVkcF9u b3RpZnlfaGFuZGxlcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKnRoaXMsIHVuc2lnbmVkIGxvbmcg Y29kZSwKIAogc3RhdGljIGJvb2wgZWRwX2hhdmVfcGFuZWxfcG93ZXIoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZHBfdG9fZGV2 KGludGVsX2RwKTsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGRldik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRl bF9kcF90b19kZXYoaW50ZWxfZHApKTsKIAogCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2 LT5wcHNfbXV0ZXgpOwogCkBAIC04NzcsOCArODY4LDcgQEAgc3RhdGljIGJvb2wgZWRwX2hhdmVf cGFuZWxfcG93ZXIoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAogc3RhdGljIGJvb2wgZWRw X2hhdmVfcGFuZWxfdmRkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7Ci0Jc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7Ci0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOworCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKSk7CiAK IAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKIApAQCAtODkyLDgg Kzg4Miw3IEBAIHN0YXRpYyBib29sIGVkcF9oYXZlX3BhbmVsX3ZkZChzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwKQogc3RhdGljIHZvaWQKIGludGVsX2RwX2NoZWNrX2VkcChzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kcF90b19k ZXYoaW50ZWxfZHApOwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGlu dGVsX2RwX3RvX2RldihpbnRlbF9kcCkpOwogCiAJaWYgKCFpbnRlbF9kcF9pc19lZHAoaW50ZWxf ZHApKQogCQlyZXR1cm47CkBAIC05MDksOSArODk4LDcgQEAgaW50ZWxfZHBfY2hlY2tfZWRwKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiBzdGF0aWMgdWludDMyX3QKIGludGVsX2RwX2F1eF93 YWl0X2RvbmUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgYm9vbCBoYXNfYXV4X2lycSkKIHsK LQlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGRwX3RvX2RpZ19w b3J0KGludGVsX2RwKTsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZGlnX3BvcnQt PmJhc2UuYmFzZS5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShkZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo aW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKSk7CiAJaTkxNV9yZWdfdCBjaF9jdGwgPSBpbnRlbF9k cC0+YXV4X2NoX2N0bF9yZWc7CiAJdWludDMyX3Qgc3RhdHVzOwogCWJvb2wgZG9uZTsKQEAgLTE0 NzgsOCArMTQ2NSw3IEBAIHN0YXRpYyB2b2lkCiBpbnRlbF9kcF9zZXRfY2xvY2soc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCSAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBl X2NvbmZpZykKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7 Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOworCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5k ZXYpOwogCWNvbnN0IHN0cnVjdCBkcF9saW5rX2RwbGwgKmRpdmlzb3IgPSBOVUxMOwogCWludCBp LCBjb3VudCA9IDA7CiAKQEAgLTE4NDgsOCArMTgzNCw3IEBAIHZvaWQgaW50ZWxfZHBfc2V0X2xp bmtfcGFyYW1zKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiBzdGF0aWMgdm9pZCBpbnRlbF9k cF9wcmVwYXJlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICBjb25zdCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCiB7Ci0Jc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKIAllbnVtIHBvcnQgcG9ydCA9 IGVuY29kZXItPnBvcnQ7CiAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRj KHBpcGVfY29uZmlnLT5iYXNlLmNydGMpOwpAQCAtMTk0NSw4ICsxOTMwLDcgQEAgc3RhdGljIHZv aWQgd2FpdF9wYW5lbF9zdGF0dXMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAkJCQkgICAg ICAgdTMyIG1hc2ssCiAJCQkJICAgICAgIHUzMiB2YWx1ZSkKIHsKLQlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKTsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9kcF90b19kZXYoaW50ZWxfZHApKTsKIAlpOTE1X3Jl Z190IHBwX3N0YXRfcmVnLCBwcF9jdHJsX3JlZzsKIAogCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRl dl9wcml2LT5wcHNfbXV0ZXgpOwpAQCAtMjAyMiw4ICsyMDA2LDcgQEAgc3RhdGljIHZvaWQgZWRw X3dhaXRfYmFja2xpZ2h0X29mZihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCiBzdGF0aWMg IHUzMiBpcm9ubGFrZV9nZXRfcHBfY29udHJvbChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQog ewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kcF90b19kZXYoaW50ZWxfZHApOwot CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVsX2RwX3RvX2Rldihp bnRlbF9kcCkpOwogCXUzMiBjb250cm9sOwogCiAJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2X3By aXYtPnBwc19tdXRleCk7CkBAIC0yMDQ0LDkgKzIwMjcsOCBAQCBzdGF0aWMgIHUzMiBpcm9ubGFr ZV9nZXRfcHBfY29udHJvbChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogICovCiBzdGF0aWMg Ym9vbCBlZHBfcGFuZWxfdmRkX29uKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7Ci0Jc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7CisJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9kcF90b19kZXYoaW50 ZWxfZHApKTsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGRw X3RvX2RpZ19wb3J0KGludGVsX2RwKTsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGRldik7CiAJdTMyIHBwOwogCWk5MTVfcmVnX3QgcHBfc3RhdF9yZWcsIHBw X2N0cmxfcmVnOwogCWJvb2wgbmVlZF90b19kaXNhYmxlID0gIWludGVsX2RwLT53YW50X3BhbmVs X3ZkZDsKQEAgLTIxMTYsOCArMjA5OCw3IEBAIHZvaWQgaW50ZWxfZWRwX3BhbmVsX3ZkZF9vbihz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCiBzdGF0aWMgdm9pZCBlZHBfcGFuZWxfdmRkX29m Zl9zeW5jKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKSk7CiAJc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPQogCQlkcF90b19kaWdfcG9ydChpbnRl bF9kcCk7CiAJdTMyIHBwOwpAQCAtMjIwMyw4ICsyMTg0LDcgQEAgc3RhdGljIHZvaWQgZWRwX3Bh bmVsX3ZkZF9vZmYoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgYm9vbCBzeW5jKQogCiBzdGF0 aWMgdm9pZCBlZHBfcGFuZWxfb24oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIHsKLQlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKTsKLQlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CisJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9kcF90b19kZXYoaW50ZWxfZHAp KTsKIAl1MzIgcHA7CiAJaTkxNV9yZWdfdCBwcF9jdHJsX3JlZzsKIApAQCAtMjI2Miw4ICsyMjQy LDcgQEAgdm9pZCBpbnRlbF9lZHBfcGFuZWxfb24oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkK IAogc3RhdGljIHZvaWQgZWRwX3BhbmVsX29mZihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQog ewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kcF90b19kZXYoaW50ZWxfZHApOwot CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVsX2RwX3RvX2Rldihp bnRlbF9kcCkpOwogCXUzMiBwcDsKIAlpOTE1X3JlZ190IHBwX2N0cmxfcmVnOwogCkBAIC0yMzEx LDkgKzIyOTAsNyBAQCB2b2lkIGludGVsX2VkcF9wYW5lbF9vZmYoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCkKIC8qIEVuYWJsZSBiYWNrbGlnaHQgaW4gdGhlIHBhbmVsIHBvd2VyIGNvbnRyb2wu ICovCiBzdGF0aWMgdm9pZCBfaW50ZWxfZWRwX2JhY2tsaWdodF9vbihzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwKQogewotCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0 ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBp bnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNlLmRldjsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShpbnRlbF9kcF90b19kZXYoaW50ZWxfZHApKTsKIAl1MzIgcHA7CiAJaTkx NV9yZWdfdCBwcF9jdHJsX3JlZzsKIApAQCAtMjM1Niw4ICsyMzMzLDcgQEAgdm9pZCBpbnRlbF9l ZHBfYmFja2xpZ2h0X29uKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl LAogLyogRGlzYWJsZSBiYWNrbGlnaHQgaW4gdGhlIHBhbmVsIHBvd2VyIGNvbnRyb2wuICovCiBz dGF0aWMgdm9pZCBfaW50ZWxfZWRwX2JhY2tsaWdodF9vZmYoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZHBfdG9fZGV2KGludGVs X2RwKTsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9kcF90 b19kZXYoaW50ZWxfZHApKTsKIAl1MzIgcHA7CiAJaTkxNV9yZWdfdCBwcF9jdHJsX3JlZzsKIApA QCAtMjU2MCwxMCArMjUzNiw5IEBAIHZvaWQgaW50ZWxfZHBfc2lua19kcG1zKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHAsIGludCBtb2RlKQogc3RhdGljIGJvb2wgaW50ZWxfZHBfZ2V0X2h3X3N0 YXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSAgZW51bSBwaXBlICpwaXBl KQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rl ci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxf ZHAoJmVuY29kZXItPmJhc2UpOwogCWVudW0gcG9ydCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKLQlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+YmFzZS5kZXY7Ci0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCXUzMiB0bXA7CiAJYm9vbCBy ZXQ7CiAKQEAgLTI2MTIsMTAgKzI1ODcsOSBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kcF9nZXRfaHdf c3RhdGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiBzdGF0aWMgdm9pZCBpbnRlbF9k cF9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCXN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKIHsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKIAl1MzIgdG1w LCBmbGFncyA9IDA7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2 OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKIAll bnVtIHBvcnQgcG9ydCA9IGVuY29kZXItPnBvcnQ7CiAJc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT5iYXNlLmNydGMpOwogCkBAIC0yNzgyLDkgKzI3 NTYsOCBAQCBfaW50ZWxfZHBfc2V0X2xpbmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9k cCwKIAkJCSB1aW50MzJfdCAqRFAsCiAJCQkgdWludDhfdCBkcF90cmFpbl9wYXQpCiB7CisJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9kcF90b19kZXYo aW50ZWxfZHApKTsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9 IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50 ZWxfZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShkZXYpOwogCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQt PmJhc2UucG9ydDsKIAogCWlmIChkcF90cmFpbl9wYXQgJiBEUF9UUkFJTklOR19QQVRURVJOX01B U0spCkBAIC0yODY4LDggKzI4NDEsNyBAQCBfaW50ZWxfZHBfc2V0X2xpbmtfdHJhaW4oc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCwKIHN0YXRpYyB2b2lkIGludGVsX2RwX2VuYWJsZV9wb3J0KHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpvbGRfY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxf ZHBfdG9fZGV2KGludGVsX2RwKTsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGRldik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShpbnRlbF9kcF90b19kZXYoaW50ZWxfZHApKTsKIAogCS8qIGVuYWJsZSB3aXRoIHBhdHRl cm4gMSAoYXMgcGVyIHNwZWMpICovCiAKQEAgLTI4OTMsOSArMjg2NSw4IEBAIHN0YXRpYyB2b2lk IGludGVsX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgICBj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJCQkgICAgY29uc3Qg c3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUpCiB7CisJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcCgmZW5jb2Rlci0+YmFzZSk7 Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2OwotCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKIAlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPmJhc2UuY3J0Yyk7CiAJdWlu dDMyX3QgZHBfcmVnID0gSTkxNV9SRUFEKGludGVsX2RwLT5vdXRwdXRfcmVnKTsKIAllbnVtIHBp cGUgcGlwZSA9IGNydGMtPnBpcGU7CkBAIC0zNTE5LDEwICszNDkwLDkgQEAgZ2VuN19lZHBfc2ln bmFsX2xldmVscyh1aW50OF90IHRyYWluX3NldCkKIHZvaWQKIGludGVsX2RwX3NldF9zaWduYWxf bGV2ZWxzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9kcF90b19kZXYoaW50ZWxfZHApKTsKIAlz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0 KGludGVsX2RwKTsKIAllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQ7 Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RpZ19wb3J0LT5iYXNlLmJhc2UuZGV2 OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKIAl1 aW50MzJfdCBzaWduYWxfbGV2ZWxzLCBtYXNrID0gMDsKIAl1aW50OF90IHRyYWluX3NldCA9IGlu dGVsX2RwLT50cmFpbl9zZXRbMF07CiAKQEAgLTM1NzcsOSArMzU0Nyw4IEBAIGludGVsX2RwX3By b2dyYW1fbGlua190cmFpbmluZ19wYXR0ZXJuKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAK IHZvaWQgaW50ZWxfZHBfc2V0X2lkbGVfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwKQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50 ZWxfZHBfdG9fZGV2KGludGVsX2RwKSk7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50 ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7Ci0Jc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGludGVsX2RpZ19wb3J0LT5iYXNlLmJhc2UuZGV2OwotCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKIAllbnVtIHBvcnQgcG9ydCA9IGlu dGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQ7CiAJdWludDMyX3QgdmFsOwogCkBAIC00MzAzLDExICs0 MjcyLDExIEBAIGludGVsX2RwX3JldHJhaW5fbGluayhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw KQogc3RhdGljIHZvaWQKIGludGVsX2RwX2NoZWNrX2xpbmtfc3RhdHVzKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHApCiB7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShpbnRlbF9kcF90b19kZXYoaW50ZWxfZHApKTsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq aW50ZWxfZW5jb2RlciA9ICZkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPmJhc2U7Ci0Jc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7CiAJdTggbGlua19z dGF0dXNbRFBfTElOS19TVEFUVVNfU0laRV07CiAKLQlXQVJOX09OKCFkcm1fbW9kZXNldF9pc19s b2NrZWQoJmRldi0+bW9kZV9jb25maWcuY29ubmVjdGlvbl9tdXRleCkpOworCVdBUk5fT04oIWRy bV9tb2Rlc2V0X2lzX2xvY2tlZCgmZGV2X3ByaXYtPmRybS5tb2RlX2NvbmZpZy5jb25uZWN0aW9u X211dGV4KSk7CiAKIAlpZiAoIWludGVsX2RwX2dldF9saW5rX3N0YXR1cyhpbnRlbF9kcCwgbGlu a19zdGF0dXMpKSB7CiAJCURSTV9FUlJPUigiRmFpbGVkIHRvIGdldCBsaW5rIHN0YXR1c1xuIik7 CkBAIC00MzUzLDggKzQzMjIsNyBAQCBpbnRlbF9kcF9jaGVja19saW5rX3N0YXR1cyhzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwKQogc3RhdGljIGJvb2wKIGludGVsX2RwX3Nob3J0X3B1bHNlKHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGlu dGVsX2RwX3RvX2RldihpbnRlbF9kcCk7Ci0Jc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2Vu Y29kZXIgPSAmZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApLT5iYXNlOworCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKSk7 CiAJdTggc2lua19pcnFfdmVjdG9yID0gMDsKIAl1OCBvbGRfc2lua19jb3VudCA9IGludGVsX2Rw LT5zaW5rX2NvdW50OwogCWJvb2wgcmV0OwpAQCAtNDM5MywxMyArNDM2MSwxMyBAQCBpbnRlbF9k cF9zaG9ydF9wdWxzZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCQkJRFJNX0RFQlVHX0RS SVZFUigiQ1Agb3Igc2luayBzcGVjaWZpYyBpcnEgdW5oYW5kbGVkXG4iKTsKIAl9CiAKLQlkcm1f bW9kZXNldF9sb2NrKCZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgsIE5VTEwpOwor CWRybV9tb2Rlc2V0X2xvY2soJmRldl9wcml2LT5kcm0ubW9kZV9jb25maWcuY29ubmVjdGlvbl9t dXRleCwgTlVMTCk7CiAJaW50ZWxfZHBfY2hlY2tfbGlua19zdGF0dXMoaW50ZWxfZHApOwotCWRy bV9tb2Rlc2V0X3VubG9jaygmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0aW9uX211dGV4KTsKKwlk cm1fbW9kZXNldF91bmxvY2soJmRldl9wcml2LT5kcm0ubW9kZV9jb25maWcuY29ubmVjdGlvbl9t dXRleCk7CiAJaWYgKGludGVsX2RwLT5jb21wbGlhbmNlLnRlc3RfdHlwZSA9PSBEUF9URVNUX0xJ TktfVFJBSU5JTkcpIHsKIAkJRFJNX0RFQlVHX0tNUygiTGluayBUcmFpbmluZyBDb21wbGlhbmNl IFRlc3QgcmVxdWVzdGVkXG4iKTsKIAkJLyogU2VuZCBhIEhvdHBsdWcgVWV2ZW50IHRvIHVzZXJz cGFjZSB0byBzdGFydCBtb2Rlc2V0ICovCi0JCWRybV9rbXNfaGVscGVyX2hvdHBsdWdfZXZlbnQo aW50ZWxfZW5jb2Rlci0+YmFzZS5kZXYpOworCQlkcm1fa21zX2hlbHBlcl9ob3RwbHVnX2V2ZW50 KCZkZXZfcHJpdi0+ZHJtKTsKIAl9CiAKIAlyZXR1cm4gdHJ1ZTsKQEAgLTQ0NjMsOCArNDQzMSw3 IEBAIGludGVsX2RwX2RldGVjdF9kcGNkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiBzdGF0 aWMgZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cwogZWRwX2RldGVjdChzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kcF90b19kZXYo aW50ZWxfZHApOwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVs X2RwX3RvX2RldihpbnRlbF9kcCkpOwogCWVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgc3RhdHVz OwogCiAJc3RhdHVzID0gaW50ZWxfcGFuZWxfZGV0ZWN0KGRldl9wcml2KTsKQEAgLTQ3MjAsMjIg KzQ2ODcsMjEgQEAgaW50ZWxfZHBfdW5zZXRfZWRpZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw KQogfQogCiBzdGF0aWMgaW50Ci1pbnRlbF9kcF9sb25nX3B1bHNlKHN0cnVjdCBpbnRlbF9jb25u ZWN0b3IgKmludGVsX2Nvbm5lY3RvcikKK2ludGVsX2RwX2xvbmdfcHVsc2Uoc3RydWN0IGludGVs X2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewotCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IgPSAmaW50ZWxfY29ubmVjdG9yLT5iYXNlOwotCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAg PSBpbnRlbF9hdHRhY2hlZF9kcChjb25uZWN0b3IpOwotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBjb25uZWN0b3ItPmRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOworCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAg PSBpbnRlbF9hdHRhY2hlZF9kcCgmY29ubmVjdG9yLT5iYXNlKTsKIAllbnVtIGRybV9jb25uZWN0 b3Jfc3RhdHVzIHN0YXR1czsKIAl1OCBzaW5rX2lycV92ZWN0b3IgPSAwOwogCi0JV0FSTl9PTigh ZHJtX21vZGVzZXRfaXNfbG9ja2VkKCZjb25uZWN0b3ItPmRldi0+bW9kZV9jb25maWcuY29ubmVj dGlvbl9tdXRleCkpOworCVdBUk5fT04oIWRybV9tb2Rlc2V0X2lzX2xvY2tlZCgmZGV2X3ByaXYt PmRybS5tb2RlX2NvbmZpZy5jb25uZWN0aW9uX211dGV4KSk7CiAKLQlpbnRlbF9kaXNwbGF5X3Bv d2VyX2dldCh0b19pOTE1KGRldiksIGludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluKTsKKwlpbnRl bF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgaW50ZWxfZHAtPmF1eF9wb3dlcl9kb21haW4p OwogCiAJLyogQ2FuJ3QgZGlzY29ubmVjdCBlRFAsIGJ1dCB5b3UgY2FuIGNsb3NlIHRoZSBsaWQu Li4gKi8KIAlpZiAoaW50ZWxfZHBfaXNfZWRwKGludGVsX2RwKSkKIAkJc3RhdHVzID0gZWRwX2Rl dGVjdChpbnRlbF9kcCk7Ci0JZWxzZSBpZiAoaW50ZWxfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZCh0 b19pOTE1KGRldiksCisJZWxzZSBpZiAoaW50ZWxfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChkZXZf cHJpdiwKIAkJCQkJICAgICAgZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApKSkKIAkJc3RhdHVzID0g aW50ZWxfZHBfZGV0ZWN0X2RwY2QoaW50ZWxfZHApOwogCWVsc2UKQEAgLTQ4MDYsNyArNDc3Miw3 IEBAIGludGVsX2RwX2xvbmdfcHVsc2Uoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29u bmVjdG9yKQogCWludGVsX2RwLT5hdXguaTJjX2RlZmVyX2NvdW50ID0gMDsKIAogCWludGVsX2Rw X3NldF9lZGlkKGludGVsX2RwKTsKLQlpZiAoaW50ZWxfZHBfaXNfZWRwKGludGVsX2RwKSB8fCBp bnRlbF9jb25uZWN0b3ItPmRldGVjdF9lZGlkKQorCWlmIChpbnRlbF9kcF9pc19lZHAoaW50ZWxf ZHApIHx8IGNvbm5lY3Rvci0+ZGV0ZWN0X2VkaWQpCiAJCXN0YXR1cyA9IGNvbm5lY3Rvcl9zdGF0 dXNfY29ubmVjdGVkOwogCWludGVsX2RwLT5kZXRlY3RfZG9uZSA9IHRydWU7CiAKQEAgLTQ4Mjks NyArNDc5NSw3IEBAIGludGVsX2RwX2xvbmdfcHVsc2Uoc3RydWN0IGludGVsX2Nvbm5lY3RvciAq aW50ZWxfY29ubmVjdG9yKQogCWlmIChzdGF0dXMgIT0gY29ubmVjdG9yX3N0YXR1c19jb25uZWN0 ZWQgJiYgIWludGVsX2RwLT5pc19tc3QpCiAJCWludGVsX2RwX3Vuc2V0X2VkaWQoaW50ZWxfZHAp OwogCi0JaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQodG9faTkxNShkZXYpLCBpbnRlbF9kcC0+YXV4 X3Bvd2VyX2RvbWFpbik7CisJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIGludGVs X2RwLT5hdXhfcG93ZXJfZG9tYWluKTsKIAlyZXR1cm4gc3RhdHVzOwogfQogCkBAIC00OTk2LDkg KzQ5NjIsNyBAQCB2b2lkIGludGVsX2RwX2VuY29kZXJfc3VzcGVuZChzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqaW50ZWxfZW5jb2RlcikKIAogc3RhdGljIHZvaWQgaW50ZWxfZWRwX3BhbmVsX3ZkZF9z YW5pdGl6ZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogewotCXN0cnVjdCBpbnRlbF9kaWdp dGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwotCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNlLmRldjsKLQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CisJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9kcF90b19kZXYoaW50 ZWxfZHApKTsKIAogCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5wcHNfbXV0ZXgpOwog CkBAIC01MDg2LDggKzUwNTAsNyBAQCBlbnVtIGlycXJldHVybgogaW50ZWxfZHBfaHBkX3B1bHNl KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LCBib29sIGxvbmdfaHBk KQogewogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxfZGlnX3BvcnQtPmRwOwot CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNlLmRldjsK LQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CisJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9kcF90b19kZXYo aW50ZWxfZHApKTsKIAllbnVtIGlycXJldHVybiByZXQgPSBJUlFfTk9ORTsKIAogCWlmIChsb25n X2hwZCAmJiBpbnRlbF9kaWdfcG9ydC0+YmFzZS50eXBlID09IElOVEVMX09VVFBVVF9FRFApIHsK QEAgLTU1NDYsOCArNTUwOSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX3NldF9kcnJzX3N0YXRl KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIHZvaWQgaW50ZWxfZWRwX2RycnNf ZW5hYmxlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJCQkgICBjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g aW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKTsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGRldik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShpbnRlbF9kcF90b19kZXYoaW50ZWxfZHApKTsKIAogCWlmICghY3J0Y19zdGF0 ZS0+aGFzX2RycnMpIHsKIAkJRFJNX0RFQlVHX0tNUygiUGFuZWwgZG9lc24ndCBzdXBwb3J0IERS UlNcbiIpOwpAQCAtNTU4Miw4ICs1NTQ0LDcgQEAgdm9pZCBpbnRlbF9lZHBfZHJyc19lbmFibGUo c3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIHZvaWQgaW50ZWxfZWRwX2RycnNfZGlzYWJsZShz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCQkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpvbGRfY3J0Y19zdGF0ZSkKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50 ZWxfZHBfdG9fZGV2KGludGVsX2RwKTsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGRldik7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShpbnRlbF9kcF90b19kZXYoaW50ZWxfZHApKTsKIAogCWlmICghb2xkX2NydGNfc3Rh dGUtPmhhc19kcnJzKQogCQlyZXR1cm47CkBAIC01NzY2LDcgKzU3MjcsNyBAQCB2b2lkIGludGVs X2VkcF9kcnJzX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAogLyoq CiAgKiBpbnRlbF9kcF9kcnJzX2luaXQgLSBJbml0IGJhc2ljIERSUlMgd29yayBhbmQgbXV0ZXgu Ci0gKiBAaW50ZWxfY29ubmVjdG9yOiBlRFAgY29ubmVjdG9yCisgKiBAY29ubmVjdG9yOiBlRFAg Y29ubmVjdG9yCiAgKiBAZml4ZWRfbW9kZTogcHJlZmVycmVkIG1vZGUgb2YgcGFuZWwKICAqCiAg KiBUaGlzIGZ1bmN0aW9uIGlzICBjYWxsZWQgb25seSBvbmNlIGF0IGRyaXZlciBsb2FkIHRvIGlu aXRpYWxpemUgYmFzaWMKQEAgLTU3NzgsMTIgKzU3MzksMTAgQEAgdm9pZCBpbnRlbF9lZHBfZHJy c19mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAgKiBmcm9tIFZCVCBz ZXR0aW5nKS4KICAqLwogc3RhdGljIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICoKLWludGVsX2Rw X2RycnNfaW5pdChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IsCi0JCXN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICpmaXhlZF9tb2RlKQoraW50ZWxfZHBfZHJyc19pbml0KHN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKKwkJICAgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKmZpeGVkX21vZGUpCiB7Ci0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9 ICZpbnRlbF9jb25uZWN0b3ItPmJhc2U7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5l Y3Rvci0+ZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5l Y3Rvci0+YmFzZS5kZXYpOwogCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpkb3duY2xvY2tfbW9k ZSA9IE5VTEw7CiAKIAlJTklUX0RFTEFZRURfV09SSygmZGV2X3ByaXYtPmRycnMud29yaywgaW50 ZWxfZWRwX2RycnNfZG93bmNsb2NrX3dvcmspOwpAQCAtNTc5OSw4ICs1NzU4LDggQEAgaW50ZWxf ZHBfZHJyc19pbml0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciwKIAkJ cmV0dXJuIE5VTEw7CiAJfQogCi0JZG93bmNsb2NrX21vZGUgPSBpbnRlbF9maW5kX3BhbmVsX2Rv d25jbG9jawotCQkJCQkoZGV2X3ByaXYsIGZpeGVkX21vZGUsIGNvbm5lY3Rvcik7CisJZG93bmNs b2NrX21vZGUgPSBpbnRlbF9maW5kX3BhbmVsX2Rvd25jbG9jayhkZXZfcHJpdiwgZml4ZWRfbW9k ZSwKKwkJCQkJCSAgICAmY29ubmVjdG9yLT5iYXNlKTsKIAogCWlmICghZG93bmNsb2NrX21vZGUp IHsKIAkJRFJNX0RFQlVHX0tNUygiRG93bmNsb2NrIG1vZGUgaXMgbm90IGZvdW5kLiBEUlJTIG5v dCBzdXBwb3J0ZWRcbiIpOwpAQCAtNTgxNywxMSArNTc3Niw5IEBAIGludGVsX2RwX2RycnNfaW5p dChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IsCiBzdGF0aWMgYm9vbCBp bnRlbF9lZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAkJCQkg ICAgIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvcikKIHsKLQlzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gJmludGVsX2Nvbm5lY3Rvci0+YmFzZTsKLQlzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGlu dGVsX2RwKTsKLQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9ICZpbnRlbF9k aWdfcG9ydC0+YmFzZTsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZW5jb2Rlci0+ YmFzZS5kZXY7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RwX3RvX2RldihpbnRl bF9kcCk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYp OworCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSAmaW50ZWxfY29ubmVjdG9yLT5i YXNlOwogCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpmaXhlZF9tb2RlID0gTlVMTDsKIAlzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWx0X2ZpeGVkX21vZGUgPSBOVUxMOwogCXN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICpkb3duY2xvY2tfbW9kZSA9IE5VTEw7CkBAIC01ODM5LDcgKzU3OTYsNyBA QCBzdGF0aWMgYm9vbCBpbnRlbF9lZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCwKIAkgKiBlRFAgYW5kIExWRFMgYmFpbCBvdXQgZWFybHkgaW4gdGhpcyBjYXNlIHRv IHByZXZlbnQgaW50ZXJmZXJpbmcKIAkgKiB3aXRoIGFuIGFscmVhZHkgcG93ZXJlZC1vbiBMVkRT IHBvd2VyIHNlcXVlbmNlci4KIAkgKi8KLQlpZiAoaW50ZWxfZ2V0X2x2ZHNfZW5jb2RlcihkZXYp KSB7CisJaWYgKGludGVsX2dldF9sdmRzX2VuY29kZXIoJmRldl9wcml2LT5kcm0pKSB7CiAJCVdB Uk5fT04oIShIQVNfUENIX0lCWChkZXZfcHJpdikgfHwgSEFTX1BDSF9DUFQoZGV2X3ByaXYpKSk7 CiAJCURSTV9JTkZPKCJMVkRTIHdhcyBkZXRlY3RlZCwgbm90IHJlZ2lzdGVyaW5nIGVEUFxuIik7 CiAKLS0gCjIuMTMuNgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==