From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Zimmermann Subject: [PATCH v2 16/20] drm/radeon: Remove references to struct drm_device.pdev Date: Tue, 1 Dec 2020 11:35:38 +0100 Message-ID: <20201201103542.2182-17-tzimmermann@suse.de> References: <20201201103542.2182-1-tzimmermann@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20201201103542.2182-1-tzimmermann@suse.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: virtualization-bounces@lists.linux-foundation.org Sender: "Virtualization" To: airlied@linux.ie, daniel@ffwll.ch Cc: nouveau@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org, amd-gfx@lists.freedesktop.org, Thomas Zimmermann , Alex Deucher , spice-devel@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, =?UTF-8?q?Christian=20K=C3=B6nig?= List-Id: nouveau.vger.kernel.org VXNpbmcgc3RydWN0IGRybV9kZXZpY2UucGRldiBpcyBkZXByZWNhdGVkLiBDb252ZXJ0IHJhZGVv biB0byBzdHJ1Y3QKZHJtX2RldmljZS5kZXYuIE5vIGZ1bmN0aW9uYWwgY2hhbmdlcy4KClNpZ25l ZC1vZmYtYnk6IFRob21hcyBaaW1tZXJtYW5uIDx0emltbWVybWFubkBzdXNlLmRlPgpBY2tlZC1i eTogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgpDYzogQWxleCBEZXVj aGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgpDYzogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hy aXN0aWFuLmtvZW5pZ0BhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vYXRvbWJp b3NfZW5jb2RlcnMuYyAgICB8ICA2ICstCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IxMDAuYyAg ICAgICAgICAgICAgICAgfCAyNSArKystLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u LmggICAgICAgICAgICAgICB8IDMyICsrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2F0b21iaW9zLmMgICAgICB8IDg5ICsrKysrKysrKystLS0tLS0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX2Jpb3MuYyAgICAgICAgICB8ICA2ICstCiBkcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9jb21iaW9zLmMgICAgICAgfCA1NSArKysrKystLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2NzLmMgICAgICAgICAgICB8ICAzICstCiBkcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kZXZpY2UuYyAgICAgICAgfCAxNyArKy0tCiBkcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kaXNwbGF5LmMgICAgICAgfCAgMiArLQogZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmMgICAgICAgICAgIHwgIDMgKy0KIGRyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX2ZiLmMgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9nZW0uYyAgICAgICAgICAgfCAgNiArLQogZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb25faTJjLmMgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9y YWRlb24vcmFkZW9uX2lycV9rbXMuYyAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9rbXMuYyAgICAgICAgICAgfCAxOCArKy0tCiAuLi4vZ3B1L2RybS9yYWRlb24v cmFkZW9uX2xlZ2FjeV9lbmNvZGVycy5jICAgfCAgNiArLQogZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yczc4MF9kcG0uYyAgICAgICAgICAgIHwgIDcgKy0KIDE3IGZpbGVzIGNoYW5nZWQsIDE0MiBp bnNlcnRpb25zKCspLCAxMzkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9hdG9tYmlvc19lbmNvZGVycy5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9h dG9tYmlvc19lbmNvZGVycy5jCmluZGV4IGNjNWVlMWIzYWY4NC4uYTlhZThiNmM1OTkxIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2F0b21iaW9zX2VuY29kZXJzLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9hdG9tYmlvc19lbmNvZGVycy5jCkBAIC0yMDY1LDkgKzIw NjUsOSBAQCBhdG9tYmlvc19hcHBseV9lbmNvZGVyX3F1aXJrcyhzdHJ1Y3QgZHJtX2VuY29kZXIg KmVuY29kZXIsCiAJc3RydWN0IHJhZGVvbl9jcnRjICpyYWRlb25fY3J0YyA9IHRvX3JhZGVvbl9j cnRjKGVuY29kZXItPmNydGMpOwogCiAJLyogRnVua3kgbWFjYm9va3MgKi8KLQlpZiAoKGRldi0+ cGRldi0+ZGV2aWNlID09IDB4NzFDNSkgJiYKLQkgICAgKGRldi0+cGRldi0+c3Vic3lzdGVtX3Zl bmRvciA9PSAweDEwNmIpICYmCi0JICAgIChkZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0g MHgwMDgwKSkgeworCWlmICgocmRldi0+cGRldi0+ZGV2aWNlID09IDB4NzFDNSkgJiYKKwkgICAg KHJkZXYtPnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxMDZiKSAmJgorCSAgICAocmRldi0+ cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAwODApKSB7CiAJCWlmIChyYWRlb25fZW5jb2Rl ci0+ZGV2aWNlcyAmIEFUT01fREVWSUNFX0xDRDFfU1VQUE9SVCkgewogCQkJdWludDMyX3QgbHZ0 bWFfYml0X2RlcHRoX2NvbnRyb2wgPSBSUkVHMzIoQVZJVk9fTFZUTUFfQklUX0RFUFRIX0NPTlRS T0wpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IxMDAuYyBiL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcjEwMC5jCmluZGV4IGU0YWUwOWI1Mjk0ZC4uOTg0ZWViODkzZDc2 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IxMDAuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3IxMDAuYwpAQCAtMjYxMSw3ICsyNjExLDYgQEAgaW50IHIxMDBfYXNp Y19yZXNldChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgYm9vbCBoYXJkKQogCiB2b2lkIHIx MDBfc2V0X2NvbW1vbl9yZWdzKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogewotCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSByZGV2LT5kZGV2OwogCWJvb2wgZm9yY2VfZGFjMiA9IGZhbHNl OwogCXUzMiB0bXA7CiAKQEAgLTI2MjksNyArMjYyOCw3IEBAIHZvaWQgcjEwMF9zZXRfY29tbW9u X3JlZ3Moc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiAJICogZG9uJ3QgcmVwb3J0IGl0IGlu IHRoZSBiaW9zIGNvbm5lY3RvcgogCSAqIHRhYmxlLgogCSAqLwotCXN3aXRjaCAoZGV2LT5wZGV2 LT5kZXZpY2UpIHsKKwlzd2l0Y2ggKHJkZXYtPnBkZXYtPmRldmljZSkgewogCQkvKiBSTjUwICov CiAJY2FzZSAweDUxNWU6CiAJY2FzZSAweDU5Njk6CkBAIC0yNjM5LDE3ICsyNjM4LDE3IEBAIHZv aWQgcjEwMF9zZXRfY29tbW9uX3JlZ3Moc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiAJY2Fz ZSAweDUxNTk6CiAJY2FzZSAweDUxNWE6CiAJCS8qIERFTEwgdHJpcGxlIGhlYWQgc2VydmVycyAq LwotCQlpZiAoKGRldi0+cGRldi0+c3Vic3lzdGVtX3ZlbmRvciA9PSAweDEwMjggLyogREVMTCAq LykgJiYKLQkJICAgICgoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MDE2YykgfHwK LQkJICAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MDE2ZCkgfHwKLQkJICAg ICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MDE2ZSkgfHwKLQkJICAgICAoZGV2 LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MDE2ZikgfHwKLQkJICAgICAoZGV2LT5wZGV2 LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MDE3MCkgfHwKLQkJICAgICAoZGV2LT5wZGV2LT5zdWJz eXN0ZW1fZGV2aWNlID09IDB4MDE3ZCkgfHwKLQkJICAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1f ZGV2aWNlID09IDB4MDE3ZSkgfHwKLQkJICAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNl ID09IDB4MDE4MykgfHwKLQkJICAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4 MDE4YSkgfHwKLQkJICAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MDE5YSkp KQorCQlpZiAoKHJkZXYtPnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxMDI4IC8qIERFTEwg Ki8pICYmCisJCSAgICAoKHJkZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgwMTZjKSB8 fAorCQkgICAgIChyZGV2LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MDE2ZCkgfHwKKwkJ ICAgICAocmRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAxNmUpIHx8CisJCSAgICAg KHJkZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgwMTZmKSB8fAorCQkgICAgIChyZGV2 LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MDE3MCkgfHwKKwkJICAgICAocmRldi0+cGRl di0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAxN2QpIHx8CisJCSAgICAgKHJkZXYtPnBkZXYtPnN1 YnN5c3RlbV9kZXZpY2UgPT0gMHgwMTdlKSB8fAorCQkgICAgIChyZGV2LT5wZGV2LT5zdWJzeXN0 ZW1fZGV2aWNlID09IDB4MDE4MykgfHwKKwkJICAgICAocmRldi0+cGRldi0+c3Vic3lzdGVtX2Rl dmljZSA9PSAweDAxOGEpIHx8CisJCSAgICAgKHJkZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZpY2Ug PT0gMHgwMTlhKSkpCiAJCQlmb3JjZV9kYWMyID0gdHJ1ZTsKIAkJYnJlYWs7CiAJfQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaCBiL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vcmFkZW9uLmgKaW5kZXggMjhjYjhjZWQ5MWI5Li44N2VmNjJhN2VjNGUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb24uaApAQCAtMjYyMywxNCArMjYyMywxNCBAQCB2b2lkIHIxMDBfcGxsX2Vy cmF0YV9hZnRlcl9pbmRleChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7CiAJCShyZGV2LT5m YW1pbHkgPT0gQ0hJUF9SVjQxMCkgfHwJCQlcCiAJCShyZGV2LT5mYW1pbHkgPT0gQ0hJUF9SUzQw MCkgfHwJCQlcCiAJCShyZGV2LT5mYW1pbHkgPT0gQ0hJUF9SUzQ4MCkpCi0jZGVmaW5lIEFTSUNf SVNfWDIocmRldikgKChyZGV2LT5kZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg5NDQxKSB8fCBcCi0J CShyZGV2LT5kZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg5NDQzKSB8fCBcCi0JCShyZGV2LT5kZGV2 LT5wZGV2LT5kZXZpY2UgPT0gMHg5NDRCKSB8fCBcCi0JCShyZGV2LT5kZGV2LT5wZGV2LT5kZXZp Y2UgPT0gMHg5NTA2KSB8fCBcCi0JCShyZGV2LT5kZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg5NTA5 KSB8fCBcCi0JCShyZGV2LT5kZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg5NTBGKSB8fCBcCi0JCShy ZGV2LT5kZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg2ODlDKSB8fCBcCi0JCShyZGV2LT5kZGV2LT5w ZGV2LT5kZXZpY2UgPT0gMHg2ODlEKSkKKyNkZWZpbmUgQVNJQ19JU19YMihyZGV2KSAoKHJkZXYt PnBkZXYtPmRldmljZSA9PSAweDk0NDEpIHx8IFwKKwkJKHJkZXYtPnBkZXYtPmRldmljZSA9PSAw eDk0NDMpIHx8IFwKKwkJKHJkZXYtPnBkZXYtPmRldmljZSA9PSAweDk0NEIpIHx8IFwKKwkJKHJk ZXYtPnBkZXYtPmRldmljZSA9PSAweDk1MDYpIHx8IFwKKwkJKHJkZXYtPnBkZXYtPmRldmljZSA9 PSAweDk1MDkpIHx8IFwKKwkJKHJkZXYtPnBkZXYtPmRldmljZSA9PSAweDk1MEYpIHx8IFwKKwkJ KHJkZXYtPnBkZXYtPmRldmljZSA9PSAweDY4OUMpIHx8IFwKKwkJKHJkZXYtPnBkZXYtPmRldmlj ZSA9PSAweDY4OUQpKQogI2RlZmluZSBBU0lDX0lTX0FWSVZPKHJkZXYpICgocmRldi0+ZmFtaWx5 ID49IENISVBfUlM2MDApKQogI2RlZmluZSBBU0lDX0lTX0RDRTIocmRldikgKChyZGV2LT5mYW1p bHkgPT0gQ0hJUF9SUzYwMCkgIHx8CVwKIAkJCSAgICAocmRldi0+ZmFtaWx5ID09IENISVBfUlM2 OTApICB8fAlcCkBAIC0yNjUzLDE0ICsyNjUzLDE0IEBAIHZvaWQgcjEwMF9wbGxfZXJyYXRhX2Fm dGVyX2luZGV4KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KTsKICNkZWZpbmUgQVNJQ19JU19E Q0U4MyhyZGV2KSAoKHJkZXYtPmZhbWlseSA9PSBDSElQX0tBQklOSSkgfHwgXAogCQkJICAgICAo cmRldi0+ZmFtaWx5ID09IENISVBfTVVMTElOUykpCiAKLSNkZWZpbmUgQVNJQ19JU19MT01CT0so cmRldikgKChyZGV2LT5kZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg2ODQ5KSB8fCBcCi0JCQkgICAg ICAocmRldi0+ZGRldi0+cGRldi0+ZGV2aWNlID09IDB4Njg1MCkgfHwgXAotCQkJICAgICAgKHJk ZXYtPmRkZXYtPnBkZXYtPmRldmljZSA9PSAweDY4NTgpIHx8IFwKLQkJCSAgICAgIChyZGV2LT5k ZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg2ODU5KSB8fCBcCi0JCQkgICAgICAocmRldi0+ZGRldi0+ cGRldi0+ZGV2aWNlID09IDB4Njg0MCkgfHwgXAotCQkJICAgICAgKHJkZXYtPmRkZXYtPnBkZXYt PmRldmljZSA9PSAweDY4NDEpIHx8IFwKLQkJCSAgICAgIChyZGV2LT5kZGV2LT5wZGV2LT5kZXZp Y2UgPT0gMHg2ODQyKSB8fCBcCi0JCQkgICAgICAocmRldi0+ZGRldi0+cGRldi0+ZGV2aWNlID09 IDB4Njg0MykpCisjZGVmaW5lIEFTSUNfSVNfTE9NQk9LKHJkZXYpICgocmRldi0+cGRldi0+ZGV2 aWNlID09IDB4Njg0OSkgfHwgXAorCQkJICAgICAgKHJkZXYtPnBkZXYtPmRldmljZSA9PSAweDY4 NTApIHx8IFwKKwkJCSAgICAgIChyZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg2ODU4KSB8fCBcCisJ CQkgICAgICAocmRldi0+cGRldi0+ZGV2aWNlID09IDB4Njg1OSkgfHwgXAorCQkJICAgICAgKHJk ZXYtPnBkZXYtPmRldmljZSA9PSAweDY4NDApIHx8IFwKKwkJCSAgICAgIChyZGV2LT5wZGV2LT5k ZXZpY2UgPT0gMHg2ODQxKSB8fCBcCisJCQkgICAgICAocmRldi0+cGRldi0+ZGV2aWNlID09IDB4 Njg0MikgfHwgXAorCQkJICAgICAgKHJkZXYtPnBkZXYtPmRldmljZSA9PSAweDY4NDMpKQogCiAv KgogICogQklPUyBoZWxwZXJzLgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb25fYXRvbWJpb3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F0b21iaW9z LmMKaW5kZXggNWQyNTkxNzI1MTg5Li5mZmQ2M2FiNThjNDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX2F0b21iaW9zLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fYXRvbWJpb3MuYwpAQCAtMjkxLDQ2ICsyOTEsNDcgQEAgc3RhdGljIGJvb2wg cmFkZW9uX2F0b21fYXBwbHlfcXVpcmtzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJICAg ICB1aW50MTZfdCAqbGluZV9tdXgsCiAJCQkJICAgICBzdHJ1Y3QgcmFkZW9uX2hwZCAqaHBkKQog eworCXN0cnVjdCBwY2lfZGV2ICpwZGV2ID0gdG9fcGNpX2RldihkZXYtPmRldik7CiAKIAkvKiBB c3VzIE0yQS1WTSBIRE1JIGJvYXJkIGxpc3RzIHRoZSBEVkkgcG9ydCBhcyBIRE1JICovCi0JaWYg KChkZXYtPnBkZXYtPmRldmljZSA9PSAweDc5MWUpICYmCi0JICAgIChkZXYtPnBkZXYtPnN1YnN5 c3RlbV92ZW5kb3IgPT0gMHgxMDQzKSAmJgotCSAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fZGV2 aWNlID09IDB4ODI2ZCkpIHsKKwlpZiAoKHBkZXYtPmRldmljZSA9PSAweDc5MWUpICYmCisJICAg IChwZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTA0MykgJiYKKwkgICAgKHBkZXYtPnN1YnN5 c3RlbV9kZXZpY2UgPT0gMHg4MjZkKSkgewogCQlpZiAoKCpjb25uZWN0b3JfdHlwZSA9PSBEUk1f TU9ERV9DT05ORUNUT1JfSERNSUEpICYmCiAJCSAgICAoc3VwcG9ydGVkX2RldmljZSA9PSBBVE9N X0RFVklDRV9ERlAzX1NVUFBPUlQpKQogCQkJKmNvbm5lY3Rvcl90eXBlID0gRFJNX01PREVfQ09O TkVDVE9SX0RWSUQ7CiAJfQogCiAJLyogQXNyb2NrIFJTNjAwIGJvYXJkIGxpc3RzIHRoZSBEVkkg cG9ydCBhcyBIRE1JICovCi0JaWYgKChkZXYtPnBkZXYtPmRldmljZSA9PSAweDc5NDEpICYmCi0J ICAgIChkZXYtPnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxODQ5KSAmJgotCSAgICAoZGV2 LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4Nzk0MSkpIHsKKwlpZiAoKHBkZXYtPmRldmlj ZSA9PSAweDc5NDEpICYmCisJICAgIChwZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTg0OSkg JiYKKwkgICAgKHBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHg3OTQxKSkgewogCQlpZiAoKCpj b25uZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfSERNSUEpICYmCiAJCSAgICAoc3Vw cG9ydGVkX2RldmljZSA9PSBBVE9NX0RFVklDRV9ERlAzX1NVUFBPUlQpKQogCQkJKmNvbm5lY3Rv cl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0RWSUQ7CiAJfQogCiAJLyogTVNJIEs5QTJHTSBW Mi9WMyBib2FyZCBoYXMgbm8gSERNSSBvciBEVkkgKi8KLQlpZiAoKGRldi0+cGRldi0+ZGV2aWNl ID09IDB4Nzk2ZSkgJiYKLQkgICAgKGRldi0+cGRldi0+c3Vic3lzdGVtX3ZlbmRvciA9PSAweDE0 NjIpICYmCi0JICAgIChkZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHg3MzAyKSkgewor CWlmICgocGRldi0+ZGV2aWNlID09IDB4Nzk2ZSkgJiYKKwkgICAgKHBkZXYtPnN1YnN5c3RlbV92 ZW5kb3IgPT0gMHgxNDYyKSAmJgorCSAgICAocGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDcz MDIpKSB7CiAJCWlmICgoc3VwcG9ydGVkX2RldmljZSA9PSBBVE9NX0RFVklDRV9ERlAyX1NVUFBP UlQpIHx8CiAJCSAgICAoc3VwcG9ydGVkX2RldmljZSA9PSBBVE9NX0RFVklDRV9ERlAzX1NVUFBP UlQpKQogCQkJcmV0dXJuIGZhbHNlOwogCX0KIAogCS8qIGEtYml0IGYtaTkwaGQgLSBjaWFyYW5t IG9uICNyYWRlb25oZCAtIHRoaXMgYm9hcmQgaGFzIG5vIERWSSAqLwotCWlmICgoZGV2LT5wZGV2 LT5kZXZpY2UgPT0gMHg3OTQxKSAmJgotCSAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9y ID09IDB4MTQ3YikgJiYKLQkgICAgKGRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDI0 MTIpKSB7CisJaWYgKChwZGV2LT5kZXZpY2UgPT0gMHg3OTQxKSAmJgorCSAgICAocGRldi0+c3Vi c3lzdGVtX3ZlbmRvciA9PSAweDE0N2IpICYmCisJICAgIChwZGV2LT5zdWJzeXN0ZW1fZGV2aWNl ID09IDB4MjQxMikpIHsKIAkJaWYgKCpjb25uZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05ORUNU T1JfRFZJSSkKIAkJCXJldHVybiBmYWxzZTsKIAl9CiAKIAkvKiBGYWxjb24gTlcgbGFwdG9wIGxp c3RzIHZnYSBkZGMgbGluZSBmb3IgTFZEUyAqLwotCWlmICgoZGV2LT5wZGV2LT5kZXZpY2UgPT0g MHg1NjUzKSAmJgotCSAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTQ2Mikg JiYKLQkgICAgKGRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAyOTEpKSB7CisJaWYg KChwZGV2LT5kZXZpY2UgPT0gMHg1NjUzKSAmJgorCSAgICAocGRldi0+c3Vic3lzdGVtX3ZlbmRv ciA9PSAweDE0NjIpICYmCisJICAgIChwZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MDI5MSkp IHsKIAkJaWYgKCpjb25uZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfTFZEUykgewog CQkJaTJjX2J1cy0+dmFsaWQgPSBmYWxzZTsKIAkJCSpsaW5lX211eCA9IDUzOwpAQCAtMzM4LDI2 ICszMzksMjYgQEAgc3RhdGljIGJvb2wgcmFkZW9uX2F0b21fYXBwbHlfcXVpcmtzKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCiAJfQogCiAJLyogSElTIFgxMzAwIGlzIERWSStWR0EsIG5vdCBEVkkr RFZJICovCi0JaWYgKChkZXYtPnBkZXYtPmRldmljZSA9PSAweDcxNDYpICYmCi0JICAgIChkZXYt PnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxN2FmKSAmJgotCSAgICAoZGV2LT5wZGV2LT5z dWJzeXN0ZW1fZGV2aWNlID09IDB4MjA1OCkpIHsKKwlpZiAoKHBkZXYtPmRldmljZSA9PSAweDcx NDYpICYmCisJICAgIChwZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTdhZikgJiYKKwkgICAg KHBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgyMDU4KSkgewogCQlpZiAoc3VwcG9ydGVkX2Rl dmljZSA9PSBBVE9NX0RFVklDRV9ERlAxX1NVUFBPUlQpCiAJCQlyZXR1cm4gZmFsc2U7CiAJfQog CiAJLyogR2lnYWJ5dGUgWDEzMDAgaXMgRFZJK1ZHQSwgbm90IERWSStEVkkgKi8KLQlpZiAoKGRl di0+cGRldi0+ZGV2aWNlID09IDB4NzE0MikgJiYKLQkgICAgKGRldi0+cGRldi0+c3Vic3lzdGVt X3ZlbmRvciA9PSAweDE0NTgpICYmCi0JICAgIChkZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZpY2Ug PT0gMHgyMTM0KSkgeworCWlmICgocGRldi0+ZGV2aWNlID09IDB4NzE0MikgJiYKKwkgICAgKHBk ZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxNDU4KSAmJgorCSAgICAocGRldi0+c3Vic3lzdGVt X2RldmljZSA9PSAweDIxMzQpKSB7CiAJCWlmIChzdXBwb3J0ZWRfZGV2aWNlID09IEFUT01fREVW SUNFX0RGUDFfU1VQUE9SVCkKIAkJCXJldHVybiBmYWxzZTsKIAl9CiAKIAogCS8qIEZ1bmt5IG1h Y2Jvb2tzICovCi0JaWYgKChkZXYtPnBkZXYtPmRldmljZSA9PSAweDcxQzUpICYmCi0JICAgIChk ZXYtPnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxMDZiKSAmJgotCSAgICAoZGV2LT5wZGV2 LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MDA4MCkpIHsKKwlpZiAoKHBkZXYtPmRldmljZSA9PSAw eDcxQzUpICYmCisJICAgIChwZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTA2YikgJiYKKwkg ICAgKHBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgwMDgwKSkgewogCQlpZiAoKHN1cHBvcnRl ZF9kZXZpY2UgPT0gQVRPTV9ERVZJQ0VfQ1JUMV9TVVBQT1JUKSB8fAogCQkgICAgKHN1cHBvcnRl ZF9kZXZpY2UgPT0gQVRPTV9ERVZJQ0VfREZQMl9TVVBQT1JUKSkKIAkJCXJldHVybiBmYWxzZTsK QEAgLTM3MywyNyArMzc0LDI3IEBAIHN0YXRpYyBib29sIHJhZGVvbl9hdG9tX2FwcGx5X3F1aXJr cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCX0KIAogCS8qIEFTVVMgSEQgMzYwMCBYVCBib2Fy ZCBsaXN0cyB0aGUgRFZJIHBvcnQgYXMgSERNSSAqLwotCWlmICgoZGV2LT5wZGV2LT5kZXZpY2Ug PT0gMHg5NTk4KSAmJgotCSAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTA0 MykgJiYKLQkgICAgKGRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAxZGEpKSB7CisJ aWYgKChwZGV2LT5kZXZpY2UgPT0gMHg5NTk4KSAmJgorCSAgICAocGRldi0+c3Vic3lzdGVtX3Zl bmRvciA9PSAweDEwNDMpICYmCisJICAgIChwZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MDFk YSkpIHsKIAkJaWYgKCpjb25uZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfSERNSUEp IHsKIAkJCSpjb25uZWN0b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9EVklJOwogCQl9CiAJ fQogCiAJLyogQVNVUyBIRCAzNjAwIGJvYXJkIGxpc3RzIHRoZSBEVkkgcG9ydCBhcyBIRE1JICov Ci0JaWYgKChkZXYtPnBkZXYtPmRldmljZSA9PSAweDk1OTgpICYmCi0JICAgIChkZXYtPnBkZXYt PnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxMDQzKSAmJgotCSAgICAoZGV2LT5wZGV2LT5zdWJzeXN0 ZW1fZGV2aWNlID09IDB4MDFlNCkpIHsKKwlpZiAoKHBkZXYtPmRldmljZSA9PSAweDk1OTgpICYm CisJICAgIChwZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTA0MykgJiYKKwkgICAgKHBkZXYt PnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgwMWU0KSkgewogCQlpZiAoKmNvbm5lY3Rvcl90eXBlID09 IERSTV9NT0RFX0NPTk5FQ1RPUl9IRE1JQSkgewogCQkJKmNvbm5lY3Rvcl90eXBlID0gRFJNX01P REVfQ09OTkVDVE9SX0RWSUk7CiAJCX0KIAl9CiAKIAkvKiBBU1VTIEhEIDM0NTAgYm9hcmQgbGlz dHMgdGhlIERWSSBwb3J0IGFzIEhETUkgKi8KLQlpZiAoKGRldi0+cGRldi0+ZGV2aWNlID09IDB4 OTVDNSkgJiYKLQkgICAgKGRldi0+cGRldi0+c3Vic3lzdGVtX3ZlbmRvciA9PSAweDEwNDMpICYm Ci0JICAgIChkZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgwMWUyKSkgeworCWlmICgo cGRldi0+ZGV2aWNlID09IDB4OTVDNSkgJiYKKwkgICAgKHBkZXYtPnN1YnN5c3RlbV92ZW5kb3Ig PT0gMHgxMDQzKSAmJgorCSAgICAocGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAxZTIpKSB7 CiAJCWlmICgqY29ubmVjdG9yX3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX0hETUlBKSB7CiAJ CQkqY29ubmVjdG9yX3R5cGUgPSBEUk1fTU9ERV9DT05ORUNUT1JfRFZJSTsKIAkJfQpAQCAtNDE4 LDkgKzQxOSw5IEBAIHN0YXRpYyBib29sIHJhZGVvbl9hdG9tX2FwcGx5X3F1aXJrcyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAogCSAqIHdpdGggZGlmZmVyZW50IGNydGNzIHdoaWNoIGlzbid0IHBv c3NpYmxlIG9uIHRoZSBoYXJkd2FyZQogCSAqIHNpZGUgYW5kIGxlYXZlcyBubyBjcnRjcyBmb3Ig TFZEUyBvciBWR0EuCiAJICovCi0JaWYgKCgoZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg5NWM0KSB8 fCAoZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg5NTkxKSkgJiYKLQkgICAgKGRldi0+cGRldi0+c3Vi c3lzdGVtX3ZlbmRvciA9PSAweDEwMjUpICYmCi0JICAgIChkZXYtPnBkZXYtPnN1YnN5c3RlbV9k ZXZpY2UgPT0gMHgwMTNjKSkgeworCWlmICgoKHBkZXYtPmRldmljZSA9PSAweDk1YzQpIHx8IChw ZGV2LT5kZXZpY2UgPT0gMHg5NTkxKSkgJiYKKwkgICAgKHBkZXYtPnN1YnN5c3RlbV92ZW5kb3Ig PT0gMHgxMDI1KSAmJgorCSAgICAocGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAxM2MpKSB7 CiAJCWlmICgoKmNvbm5lY3Rvcl90eXBlID09IERSTV9NT0RFX0NPTk5FQ1RPUl9EVklJKSAmJgog CQkgICAgKHN1cHBvcnRlZF9kZXZpY2UgPT0gQVRPTV9ERVZJQ0VfREZQMV9TVVBQT1JUKSkgewog CQkJLyogYWN0dWFsbHkgaXQncyBhIERWSS1EIHBvcnQgbm90IERWSS1JICovCkBAIC00MzIsOSAr NDMzLDkgQEAgc3RhdGljIGJvb2wgcmFkZW9uX2F0b21fYXBwbHlfcXVpcmtzKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCiAJLyogWEZYIFBpbmUgR3JvdXAgZGV2aWNlIHJ2NzMwIHJlcG9ydHMgbm8g VkdBIEREQyBsaW5lcwogCSAqIGV2ZW4gdGhvdWdoIHRoZXkgYXJlIHdpcmVkIHVwIHRvIHJlY29y ZCAweDkzCiAJICovCi0JaWYgKChkZXYtPnBkZXYtPmRldmljZSA9PSAweDk0OTgpICYmCi0JICAg IChkZXYtPnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxNjgyKSAmJgotCSAgICAoZGV2LT5w ZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MjQ1MikgJiYKKwlpZiAoKHBkZXYtPmRldmljZSA9 PSAweDk0OTgpICYmCisJICAgIChwZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTY4MikgJiYK KwkgICAgKHBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgyNDUyKSAmJgogCSAgICAoaTJjX2J1 cy0+dmFsaWQgPT0gZmFsc2UpICYmCiAJICAgICEoc3VwcG9ydGVkX2RldmljZSAmIChBVE9NX0RF VklDRV9UVl9TVVBQT1JUIHwgQVRPTV9ERVZJQ0VfQ1ZfU1VQUE9SVCkpKSB7CiAJCXN0cnVjdCBy YWRlb25fZGV2aWNlICpyZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKQEAgLTQ0MiwxMSArNDQzLDEx IEBAIHN0YXRpYyBib29sIHJhZGVvbl9hdG9tX2FwcGx5X3F1aXJrcyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAogCX0KIAogCS8qIEZ1aml0c3UgRDMwMDMtUzIgYm9hcmQgbGlzdHMgRFZJLUkgYXMg RFZJLUQgYW5kIFZHQSAqLwotCWlmICgoKGRldi0+cGRldi0+ZGV2aWNlID09IDB4OTgwMikgfHwK LQkgICAgIChkZXYtPnBkZXYtPmRldmljZSA9PSAweDk4MDUpIHx8Ci0JICAgICAoZGV2LT5wZGV2 LT5kZXZpY2UgPT0gMHg5ODA2KSkgJiYKLQkgICAgKGRldi0+cGRldi0+c3Vic3lzdGVtX3ZlbmRv ciA9PSAweDE3MzQpICYmCi0JICAgIChkZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgx MWJkKSkgeworCWlmICgoKHBkZXYtPmRldmljZSA9PSAweDk4MDIpIHx8CisJICAgICAocGRldi0+ ZGV2aWNlID09IDB4OTgwNSkgfHwKKwkgICAgIChwZGV2LT5kZXZpY2UgPT0gMHg5ODA2KSkgJiYK KwkgICAgKHBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxNzM0KSAmJgorCSAgICAocGRldi0+ c3Vic3lzdGVtX2RldmljZSA9PSAweDExYmQpKSB7CiAJCWlmICgqY29ubmVjdG9yX3R5cGUgPT0g RFJNX01PREVfQ09OTkVDVE9SX1ZHQSkgewogCQkJKmNvbm5lY3Rvcl90eXBlID0gRFJNX01PREVf Q09OTkVDVE9SX0RWSUk7CiAJCQkqbGluZV9tdXggPSAweDMxMDM7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9iaW9zLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbl9iaW9zLmMKaW5kZXggYmIyOWNmMDI5NzRkLi41MDA3OTZkYzVkNzQgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Jpb3MuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbl9iaW9zLmMKQEAgLTUyOCw3ICs1MjgsNyBAQCBzdGF0aWMgYm9v bCBsZWdhY3lfcmVhZF9kaXNhYmxlZF9iaW9zKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQog CWNydGNfZXh0X2NudGwgPSBSUkVHMzIoUkFERU9OX0NSVENfRVhUX0NOVEwpOwogCWZwMl9nZW5f Y250bCA9IDA7CiAKLQlpZiAocmRldi0+ZGRldi0+cGRldi0+ZGV2aWNlID09IFBDSV9ERVZJQ0Vf SURfQVRJX1JBREVPTl9RWSkgeworCWlmIChyZGV2LT5wZGV2LT5kZXZpY2UgPT0gUENJX0RFVklD RV9JRF9BVElfUkFERU9OX1FZKSB7CiAJCWZwMl9nZW5fY250bCA9IFJSRUczMihSQURFT05fRlAy X0dFTl9DTlRMKTsKIAl9CiAKQEAgLTU2NSw3ICs1NjUsNyBAQCBzdGF0aWMgYm9vbCBsZWdhY3lf cmVhZF9kaXNhYmxlZF9iaW9zKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogCQkoUkFERU9O X0NSVENfU1lOQ19UUklTVEFUIHwKIAkJIFJBREVPTl9DUlRDX0RJU1BMQVlfRElTKSkpOwogCi0J aWYgKHJkZXYtPmRkZXYtPnBkZXYtPmRldmljZSA9PSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05f UVkpIHsKKwlpZiAocmRldi0+cGRldi0+ZGV2aWNlID09IFBDSV9ERVZJQ0VfSURfQVRJX1JBREVP Tl9RWSkgewogCQlXUkVHMzIoUkFERU9OX0ZQMl9HRU5fQ05UTCwgKGZwMl9nZW5fY250bCAmIH5S QURFT05fRlAyX09OKSk7CiAJfQogCkBAIC01ODMsNyArNTgzLDcgQEAgc3RhdGljIGJvb2wgbGVn YWN5X3JlYWRfZGlzYWJsZWRfYmlvcyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKIAkJV1JF RzMyKFJBREVPTl9DUlRDMl9HRU5fQ05UTCwgY3J0YzJfZ2VuX2NudGwpOwogCX0KIAlXUkVHMzIo UkFERU9OX0NSVENfRVhUX0NOVEwsIGNydGNfZXh0X2NudGwpOwotCWlmIChyZGV2LT5kZGV2LT5w ZGV2LT5kZXZpY2UgPT0gUENJX0RFVklDRV9JRF9BVElfUkFERU9OX1FZKSB7CisJaWYgKHJkZXYt PnBkZXYtPmRldmljZSA9PSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fUVkpIHsKIAkJV1JFRzMy KFJBREVPTl9GUDJfR0VOX0NOVEwsIGZwMl9nZW5fY250bCk7CiAJfQogCXJldHVybiByOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fY29tYmlvcy5jIGIvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fY29tYmlvcy5jCmluZGV4IGQzYzA0ZGY3ZTc1ZC4uNDU5 NmE2MjhhMmMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jb21i aW9zLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fY29tYmlvcy5jCkBAIC04 OTgsMTMgKzg5OCwxMyBAQCBzdHJ1Y3QgcmFkZW9uX2VuY29kZXJfcHJpbWFyeV9kYWMgKnJhZGVv bl9jb21iaW9zX2dldF9wcmltYXJ5X2RhY19pbmZvKHN0cnVjdAogCiAJLyogcXVpcmtzICovCiAJ LyogUmFkZW9uIDcwMDAgKFJWMTAwKSAqLwotCWlmICgoKGRldi0+cGRldi0+ZGV2aWNlID09IDB4 NTE1OSkgJiYKLQkgICAgKGRldi0+cGRldi0+c3Vic3lzdGVtX3ZlbmRvciA9PSAweDE3NEIpICYm Ci0JICAgIChkZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHg3YzI4KSkgfHwKKwlpZiAo KChyZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg1MTU5KSAmJgorCSAgICAocmRldi0+cGRldi0+c3Vi c3lzdGVtX3ZlbmRvciA9PSAweDE3NEIpICYmCisJICAgIChyZGV2LT5wZGV2LT5zdWJzeXN0ZW1f ZGV2aWNlID09IDB4N2MyOCkpIHx8CiAJLyogUmFkZW9uIDkxMDAgKFIyMDApICovCi0JICAgKChk ZXYtPnBkZXYtPmRldmljZSA9PSAweDUxNEQpICYmCi0JICAgIChkZXYtPnBkZXYtPnN1YnN5c3Rl bV92ZW5kb3IgPT0gMHgxNzRCKSAmJgotCSAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNl ID09IDB4NzE0OSkpKSB7CisJICAgKChyZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg1MTREKSAmJgor CSAgICAocmRldi0+cGRldi0+c3Vic3lzdGVtX3ZlbmRvciA9PSAweDE3NEIpICYmCisJICAgIChy ZGV2LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4NzE0OSkpKSB7CiAJCS8qIHZiaW9zIHZh bHVlIGlzIGJhZCwgdXNlIHRoZSBkZWZhdWx0ICovCiAJCWZvdW5kID0gMDsKIAl9CkBAIC0yMjI1 LDIwICsyMjI1LDIxIEBAIHN0YXRpYyBib29sIHJhZGVvbl9hcHBseV9sZWdhY3lfcXVpcmtzKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJICAgICAgIHN0cnVjdCByYWRlb25faTJjX2J1c19y ZWMgKmRkY19pMmMsCiAJCQkJICAgICAgIHN0cnVjdCByYWRlb25faHBkICpocGQpCiB7CisJc3Ry dWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYgPSBkZXYtPmRldl9wcml2YXRlOwogCiAJLyogQ2VydGFp biBJQk0gY2hpcHNldCBSTjUwcyBoYXZlIGEgQklPUyByZXBvcnRpbmcgdHdvIFZHQXMsCiAJICAg b25lIHdpdGggVkdBIEREQyBhbmQgb25lIHdpdGggQ1JUMiBEREMuIC0ga2lsbCB0aGUgQ1JUMiBE REMgb25lICovCi0JaWYgKGRldi0+cGRldi0+ZGV2aWNlID09IDB4NTE1ZSAmJgotCSAgICBkZXYt PnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxMDE0KSB7CisJaWYgKHJkZXYtPnBkZXYtPmRl dmljZSA9PSAweDUxNWUgJiYKKwkgICAgcmRldi0+cGRldi0+c3Vic3lzdGVtX3ZlbmRvciA9PSAw eDEwMTQpIHsKIAkJaWYgKCpsZWdhY3lfY29ubmVjdG9yID09IENPTk5FQ1RPUl9DUlRfTEVHQUNZ ICYmCiAJCSAgICBkZGNfaTJjLT5tYXNrX2Nsa19yZWcgPT0gUkFERU9OX0dQSU9fQ1JUMl9EREMp CiAJCQlyZXR1cm4gZmFsc2U7CiAJfQogCiAJLyogWDMwMCBjYXJkIHdpdGggZXh0cmEgbm9uLWV4 aXN0ZW50IERWSSBwb3J0ICovCi0JaWYgKGRldi0+cGRldi0+ZGV2aWNlID09IDB4NUI2MCAmJgot CSAgICBkZXYtPnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxN2FmICYmCi0JICAgIGRldi0+ cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDIwMWUgJiYgYmlvc19pbmRleCA9PSAyKSB7CisJ aWYgKHJkZXYtPnBkZXYtPmRldmljZSA9PSAweDVCNjAgJiYKKwkgICAgcmRldi0+cGRldi0+c3Vi c3lzdGVtX3ZlbmRvciA9PSAweDE3YWYgJiYKKwkgICAgcmRldi0+cGRldi0+c3Vic3lzdGVtX2Rl dmljZSA9PSAweDIwMWUgJiYgYmlvc19pbmRleCA9PSAyKSB7CiAJCWlmICgqbGVnYWN5X2Nvbm5l Y3RvciA9PSBDT05ORUNUT1JfRFZJX0lfTEVHQUNZKQogCQkJcmV0dXJuIGZhbHNlOwogCX0KQEAg LTIyNDgsMjIgKzIyNDksMjQgQEAgc3RhdGljIGJvb2wgcmFkZW9uX2FwcGx5X2xlZ2FjeV9xdWly a3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogc3RhdGljIGJvb2wgcmFkZW9uX2FwcGx5X2xl Z2FjeV90dl9xdWlya3Moc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKKwlzdHJ1Y3QgcmFkZW9u X2RldmljZSAqcmRldiA9IGRldi0+ZGV2X3ByaXZhdGU7CisKIAkvKiBBY2VyIDUxMDIgaGFzIG5v bi1leGlzdGVudCBUViBwb3J0ICovCi0JaWYgKGRldi0+cGRldi0+ZGV2aWNlID09IDB4NTk3NSAm JgotCSAgICBkZXYtPnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxMDI1ICYmCi0JICAgIGRl di0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAwOWYpCisJaWYgKHJkZXYtPnBkZXYtPmRl dmljZSA9PSAweDU5NzUgJiYKKwkgICAgcmRldi0+cGRldi0+c3Vic3lzdGVtX3ZlbmRvciA9PSAw eDEwMjUgJiYKKwkgICAgcmRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAwOWYpCiAJ CXJldHVybiBmYWxzZTsKIAogCS8qIEhQIGRjNTc1MCBoYXMgbm9uLWV4aXN0ZW50IFRWIHBvcnQg Ki8KLQlpZiAoZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg1OTc0ICYmCi0JICAgIGRldi0+cGRldi0+ c3Vic3lzdGVtX3ZlbmRvciA9PSAweDEwM2MgJiYKLQkgICAgZGV2LT5wZGV2LT5zdWJzeXN0ZW1f ZGV2aWNlID09IDB4MjgwYSkKKwlpZiAocmRldi0+cGRldi0+ZGV2aWNlID09IDB4NTk3NCAmJgor CSAgICByZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTAzYyAmJgorCSAgICByZGV2 LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MjgwYSkKIAkJcmV0dXJuIGZhbHNlOwogCiAJ LyogTVNJIFMyNzAgaGFzIG5vbi1leGlzdGVudCBUViBwb3J0ICovCi0JaWYgKGRldi0+cGRldi0+ ZGV2aWNlID09IDB4NTk1NSAmJgotCSAgICBkZXYtPnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0g MHgxNDYyICYmCi0JICAgIGRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAxMzEpCisJ aWYgKHJkZXYtPnBkZXYtPmRldmljZSA9PSAweDU5NTUgJiYKKwkgICAgcmRldi0+cGRldi0+c3Vi c3lzdGVtX3ZlbmRvciA9PSAweDE0NjIgJiYKKwkgICAgcmRldi0+cGRldi0+c3Vic3lzdGVtX2Rl dmljZSA9PSAweDAxMzEpCiAJCXJldHVybiBmYWxzZTsKIAogCXJldHVybiB0cnVlOwpAQCAtMjQx Nyw5ICsyNDIwLDkgQEAgYm9vbCByYWRlb25fZ2V0X2xlZ2FjeV9jb25uZWN0b3JfaW5mb19mcm9t X2Jpb3Moc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJCQkvKiBSVjEwMCBib2FyZCB3aXRoIGV4 dGVybmFsIFRETVMgYml0IG1pcy1zZXQuCiAJCQkJICogQWN0dWFsbHkgdXNlcyBpbnRlcm5hbCBU TURTLCBjbGVhciB0aGUgYml0LgogCQkJCSAqLwotCQkJCWlmIChkZXYtPnBkZXYtPmRldmljZSA9 PSAweDUxNTkgJiYKLQkJCQkgICAgZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTAx NCAmJgotCQkJCSAgICBkZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgwMjlBKSB7CisJ CQkJaWYgKHJkZXYtPnBkZXYtPmRldmljZSA9PSAweDUxNTkgJiYKKwkJCQkgICAgcmRldi0+cGRl di0+c3Vic3lzdGVtX3ZlbmRvciA9PSAweDEwMTQgJiYKKwkJCQkgICAgcmRldi0+cGRldi0+c3Vi c3lzdGVtX2RldmljZSA9PSAweDAyOUEpIHsKIAkJCQkJdG1wICY9IH4oMSA8PCA0KTsKIAkJCQl9 CiAJCQkJaWYgKCh0bXAgPj4gNCkgJiAweDEpIHsKQEAgLTI3MTEsOSArMjcxNCw5IEBAIHZvaWQg cmFkZW9uX2NvbWJpb3NfZ2V0X3Bvd2VyX21vZGVzKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2 KQogCQkvKiBib2FyZHMgd2l0aCBhIHRoZXJtYWwgY2hpcCwgYnV0IG5vIG92ZXJkcml2ZSB0YWJs ZSAqLwogCiAJCS8qIEFzdXMgOTYwMHh0IGhhcyBhbiBmNzUzNzUgb24gdGhlIG1vbmlkIGJ1cyAq LwotCQlpZiAoKGRldi0+cGRldi0+ZGV2aWNlID09IDB4NDE1MikgJiYKLQkJICAgIChkZXYtPnBk ZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxMDQzKSAmJgotCQkgICAgKGRldi0+cGRldi0+c3Vi c3lzdGVtX2RldmljZSA9PSAweGMwMDIpKSB7CisJCWlmICgocmRldi0+cGRldi0+ZGV2aWNlID09 IDB4NDE1MikgJiYKKwkJICAgIChyZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTA0 MykgJiYKKwkJICAgIChyZGV2LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4YzAwMikpIHsK IAkJCWkyY19idXMgPSBjb21iaW9zX3NldHVwX2kyY19idXMocmRldiwgRERDX01PTklELCAwLCAw KTsKIAkJCXJkZXYtPnBtLmkyY19idXMgPSByYWRlb25faTJjX2xvb2t1cChyZGV2LCAmaTJjX2J1 cyk7CiAJCQlpZiAocmRldi0+cG0uaTJjX2J1cykgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yYWRlb25fY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Nz LmMKaW5kZXggMjFjZTJmOTUwMmMwLi5mN2FmZjIzYjRhNTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX2NzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb25fY3MuYwpAQCAtMTMwLDggKzEzMCw3IEBAIHN0YXRpYyBpbnQgcmFkZW9uX2NzX3BhcnNl cl9yZWxvY3Moc3RydWN0IHJhZGVvbl9jc19wYXJzZXIgKnApCiAJCSAqIElHUCBjaGlwcyB0byBh dm9pZCBpbWFnZSBjb3JydXB0aW9ucwogCQkgKi8KIAkJaWYgKHAtPnJpbmcgPT0gUjYwMF9SSU5H X1RZUEVfVVZEX0lOREVYICYmCi0JCSAgICAoaSA8PSAwIHx8IHBjaV9maW5kX2NhcGFiaWxpdHko cC0+cmRldi0+ZGRldi0+cGRldiwKLQkJCQkJCSAgIFBDSV9DQVBfSURfQUdQKSB8fAorCQkgICAg KGkgPD0gMCB8fCBwY2lfZmluZF9jYXBhYmlsaXR5KHAtPnJkZXYtPnBkZXYsIFBDSV9DQVBfSURf QUdQKSB8fAogCQkgICAgIHAtPnJkZXYtPmZhbWlseSA9PSBDSElQX1JTNzgwIHx8CiAJCSAgICAg cC0+cmRldi0+ZmFtaWx5ID09IENISVBfUlM4ODApKSB7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb25fZGV2aWNlLmMKaW5kZXggMjY2ZTNjYmJkMDliLi45NDc0N2Y3YzlmMjYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2RldmljZS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX2RldmljZS5jCkBAIC0xNTY0LDYgKzE1NjQsNyBAQCBpbnQg cmFkZW9uX3N1c3BlbmRfa21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wgc3VzcGVuZCwK IAkJICAgICAgIGJvb2wgZmJjb24sIGJvb2wgZnJlZXplKQogewogCXN0cnVjdCByYWRlb25fZGV2 aWNlICpyZGV2OworCXN0cnVjdCBwY2lfZGV2ICpwZGV2OwogCXN0cnVjdCBkcm1fY3J0YyAqY3J0 YzsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOwogCWludCBpLCByOwpAQCAtMTU3 Myw2ICsxNTc0LDcgQEAgaW50IHJhZGVvbl9zdXNwZW5kX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBib29sIHN1c3BlbmQsCiAJfQogCiAJcmRldiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJcGRl diA9IHRvX3BjaV9kZXYoZGV2LT5kZXYpOwogCiAJaWYgKGRldi0+c3dpdGNoX3Bvd2VyX3N0YXRl ID09IERSTV9TV0lUQ0hfUE9XRVJfT0ZGKQogCQlyZXR1cm4gMDsKQEAgLTE2MzgsMTQgKzE2NDAs MTQgQEAgaW50IHJhZGVvbl9zdXNwZW5kX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBib29s IHN1c3BlbmQsCiAKIAlyYWRlb25fYWdwX3N1c3BlbmQocmRldik7CiAKLQlwY2lfc2F2ZV9zdGF0 ZShkZXYtPnBkZXYpOworCXBjaV9zYXZlX3N0YXRlKHBkZXYpOwogCWlmIChmcmVlemUgJiYgcmRl di0+ZmFtaWx5ID49IENISVBfQ0VEQVIgJiYgIShyZGV2LT5mbGFncyAmIFJBREVPTl9JU19JR1Ap KSB7CiAJCXJkZXYtPmFzaWMtPmFzaWNfcmVzZXQocmRldiwgdHJ1ZSk7Ci0JCXBjaV9yZXN0b3Jl X3N0YXRlKGRldi0+cGRldik7CisJCXBjaV9yZXN0b3JlX3N0YXRlKHBkZXYpOwogCX0gZWxzZSBp ZiAoc3VzcGVuZCkgewogCQkvKiBTaHV0IGRvd24gdGhlIGRldmljZSAqLwotCQlwY2lfZGlzYWJs ZV9kZXZpY2UoZGV2LT5wZGV2KTsKLQkJcGNpX3NldF9wb3dlcl9zdGF0ZShkZXYtPnBkZXYsIFBD SV9EM2hvdCk7CisJCXBjaV9kaXNhYmxlX2RldmljZShwZGV2KTsKKwkJcGNpX3NldF9wb3dlcl9z dGF0ZShwZGV2LCBQQ0lfRDNob3QpOwogCX0KIAogCWlmIChmYmNvbikgewpAQCAtMTY2OSw2ICsx NjcxLDcgQEAgaW50IHJhZGVvbl9yZXN1bWVfa21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJv b2wgcmVzdW1lLCBib29sIGZiY29uKQogewogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3I7CiAJc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0 cnVjdCBwY2lfZGV2ICpwZGV2ID0gdG9fcGNpX2RldihkZXYtPmRldik7CiAJc3RydWN0IGRybV9j cnRjICpjcnRjOwogCWludCByOwogCkBAIC0xNjc5LDkgKzE2ODIsOSBAQCBpbnQgcmFkZW9uX3Jl c3VtZV9rbXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgYm9vbCByZXN1bWUsIGJvb2wgZmJjb24p CiAJCWNvbnNvbGVfbG9jaygpOwogCX0KIAlpZiAocmVzdW1lKSB7Ci0JCXBjaV9zZXRfcG93ZXJf c3RhdGUoZGV2LT5wZGV2LCBQQ0lfRDApOwotCQlwY2lfcmVzdG9yZV9zdGF0ZShkZXYtPnBkZXYp OwotCQlpZiAocGNpX2VuYWJsZV9kZXZpY2UoZGV2LT5wZGV2KSkgeworCQlwY2lfc2V0X3Bvd2Vy X3N0YXRlKHBkZXYsIFBDSV9EMCk7CisJCXBjaV9yZXN0b3JlX3N0YXRlKHBkZXYpOworCQlpZiAo cGNpX2VuYWJsZV9kZXZpY2UocGRldikpIHsKIAkJCWlmIChmYmNvbikKIAkJCQljb25zb2xlX3Vu bG9jaygpOwogCQkJcmV0dXJuIC0xOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25fZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGlzcGxh eS5jCmluZGV4IGI3OTY4NmNmOGJkYi4uNThhMTQyNTFmMzQ1IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fZGlzcGxheS5jCkBAIC0xMzIxLDcgKzEzMjEsNyBAQCByYWRlb25fdXNlcl9m cmFtZWJ1ZmZlcl9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogCW9iaiA9IGRybV9n ZW1fb2JqZWN0X2xvb2t1cChmaWxlX3ByaXYsIG1vZGVfY21kLT5oYW5kbGVzWzBdKTsKIAlpZiAo b2JqID09ICBOVUxMKSB7Ci0JCWRldl9lcnIoJmRldi0+cGRldi0+ZGV2LCAiTm8gR0VNIG9iamVj dCBhc3NvY2lhdGVkIHRvIGhhbmRsZSAweCUwOFgsICIKKwkJZGV2X2VycihkZXYtPmRldiwgIk5v IEdFTSBvYmplY3QgYXNzb2NpYXRlZCB0byBoYW5kbGUgMHglMDhYLCAiCiAJCQkiY2FuJ3QgY3Jl YXRlIGZyYW1lYnVmZmVyXG4iLCBtb2RlX2NtZC0+aGFuZGxlc1swXSk7CiAJCXJldHVybiBFUlJf UFRSKC1FTk9FTlQpOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmMKaW5kZXggYmZh ZGI3OTlkNmEzLi4xZjMwYzNhNWYyY2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vcmFkZW9uX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rydi5j CkBAIC0zNTQsMTQgKzM1NCwxMyBAQCBzdGF0aWMgaW50IHJhZGVvbl9wY2lfcHJvYmUoc3RydWN0 IHBjaV9kZXYgKnBkZXYsCiAJaWYgKHJldCkKIAkJZ290byBlcnJfZnJlZTsKIAotCWRldi0+cGRl diA9IHBkZXY7CiAjaWZkZWYgX19hbHBoYV9fCiAJZGV2LT5ob3NlID0gcGRldi0+c3lzZGF0YTsK ICNlbmRpZgogCiAJcGNpX3NldF9kcnZkYXRhKHBkZXYsIGRldik7CiAKLQlpZiAocGNpX2ZpbmRf Y2FwYWJpbGl0eShkZXYtPnBkZXYsIFBDSV9DQVBfSURfQUdQKSkKKwlpZiAocGNpX2ZpbmRfY2Fw YWJpbGl0eShwZGV2LCBQQ0lfQ0FQX0lEX0FHUCkpCiAJCWRldi0+YWdwID0gZHJtX2FncF9pbml0 KGRldik7CiAJaWYgKGRldi0+YWdwKSB7CiAJCWRldi0+YWdwLT5hZ3BfbXRyciA9IGFyY2hfcGh5 c193Y19hZGQoCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9mYi5j IGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZmIuYwppbmRleCBmYzQyMTI2MzNiZGYu LjBiMjA2YjA1Mjk3MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25f ZmIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9mYi5jCkBAIC0yOTAsNyAr MjkwLDcgQEAgc3RhdGljIGludCByYWRlb25mYl9jcmVhdGUoc3RydWN0IGRybV9mYl9oZWxwZXIg KmhlbHBlciwKIAlEUk1fSU5GTygiZmIgZGVwdGggaXMgJWRcbiIsIGZiLT5mb3JtYXQtPmRlcHRo KTsKIAlEUk1fSU5GTygiICAgcGl0Y2ggaXMgJWRcbiIsIGZiLT5waXRjaGVzWzBdKTsKIAotCXZn YV9zd2l0Y2hlcm9vX2NsaWVudF9mYl9zZXQocmRldi0+ZGRldi0+cGRldiwgaW5mbyk7CisJdmdh X3N3aXRjaGVyb29fY2xpZW50X2ZiX3NldChyZGV2LT5wZGV2LCBpbmZvKTsKIAlyZXR1cm4gMDsK IAogb3V0OgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZ2VtLmMg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9nZW0uYwppbmRleCBkMjg3NmNlM2JjOWUu LjY4ZTZmNzA2ZTM5ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25f Z2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZ2VtLmMKQEAgLTY1MCw3 ICs2NTAsNyBAQCBpbnQgcmFkZW9uX2dlbV92YV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAogCX0KIAogCWlmIChhcmdzLT5vZmZzZXQgPCBSQURFT05fVkFfUkVTRVJW RURfU0laRSkgewotCQlkZXZfZXJyKCZkZXYtPnBkZXYtPmRldiwKKwkJZGV2X2VycihkZXYtPmRl diwKIAkJCSJvZmZzZXQgMHglbFggaXMgaW4gcmVzZXJ2ZWQgYXJlYSAweCVYXG4iLAogCQkJKHVu c2lnbmVkIGxvbmcpYXJncy0+b2Zmc2V0LAogCQkJUkFERU9OX1ZBX1JFU0VSVkVEX1NJWkUpOwpA QCAtNjY0LDcgKzY2NCw3IEBAIGludCByYWRlb25fZ2VtX3ZhX2lvY3RsKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJICovCiAJaW52YWxpZF9mbGFncyA9IFJBREVPTl9WTV9Q QUdFX1ZBTElEIHwgUkFERU9OX1ZNX1BBR0VfU1lTVEVNOwogCWlmICgoYXJncy0+ZmxhZ3MgJiBp bnZhbGlkX2ZsYWdzKSkgewotCQlkZXZfZXJyKCZkZXYtPnBkZXYtPmRldiwgImludmFsaWQgZmxh Z3MgMHglMDhYIHZzIDB4JTA4WFxuIiwKKwkJZGV2X2VycihkZXYtPmRldiwgImludmFsaWQgZmxh Z3MgMHglMDhYIHZzIDB4JTA4WFxuIiwKIAkJCWFyZ3MtPmZsYWdzLCBpbnZhbGlkX2ZsYWdzKTsK IAkJYXJncy0+b3BlcmF0aW9uID0gUkFERU9OX1ZBX1JFU1VMVF9FUlJPUjsKIAkJcmV0dXJuIC1F SU5WQUw7CkBAIC02NzUsNyArNjc1LDcgQEAgaW50IHJhZGVvbl9nZW1fdmFfaW9jdGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAljYXNlIFJBREVPTl9WQV9VTk1BUDoKIAkJ YnJlYWs7CiAJZGVmYXVsdDoKLQkJZGV2X2VycigmZGV2LT5wZGV2LT5kZXYsICJ1bnN1cHBvcnRl ZCBvcGVyYXRpb24gJWRcbiIsCisJCWRldl9lcnIoZGV2LT5kZXYsICJ1bnN1cHBvcnRlZCBvcGVy YXRpb24gJWRcbiIsCiAJCQlhcmdzLT5vcGVyYXRpb24pOwogCQlhcmdzLT5vcGVyYXRpb24gPSBS QURFT05fVkFfUkVTVUxUX0VSUk9SOwogCQlyZXR1cm4gLUVJTlZBTDsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2kyYy5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25faTJjLmMKaW5kZXggNTQ1ZTMxZTZjYzNhLi5iNzAxOGFjZjIwMTYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2kyYy5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX2kyYy5jCkBAIC05MjcsNyArOTI3LDcgQEAgc3RydWN0IHJhZGVv bl9pMmNfY2hhbiAqcmFkZW9uX2kyY19jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlp MmMtPnJlYyA9ICpyZWM7CiAJaTJjLT5hZGFwdGVyLm93bmVyID0gVEhJU19NT0RVTEU7CiAJaTJj LT5hZGFwdGVyLmNsYXNzID0gSTJDX0NMQVNTX0REQzsKLQlpMmMtPmFkYXB0ZXIuZGV2LnBhcmVu dCA9ICZkZXYtPnBkZXYtPmRldjsKKwlpMmMtPmFkYXB0ZXIuZGV2LnBhcmVudCA9IGRldi0+ZGV2 OwogCWkyYy0+ZGV2ID0gZGV2OwogCWkyY19zZXRfYWRhcGRhdGEoJmkyYy0+YWRhcHRlciwgaTJj KTsKIAltdXRleF9pbml0KCZpMmMtPm11dGV4KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX2lycV9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X2lycV9rbXMuYwppbmRleCBiODZiYzg4YWQ0MzAuLjFhZWFjYzgzZWI3NSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25faXJxX2ttcy5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX2lycV9rbXMuYwpAQCAtMzE1LDcgKzMxNSw3IEBAIGludCByYWRl b25faXJxX2ttc19pbml0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogCUlOSVRfV09SSygm cmRldi0+YXVkaW9fd29yaywgcjYwMF9hdWRpb191cGRhdGVfaGRtaSk7CiAKIAlyZGV2LT5pcnEu aW5zdGFsbGVkID0gdHJ1ZTsKLQlyID0gZHJtX2lycV9pbnN0YWxsKHJkZXYtPmRkZXYsIHJkZXYt PmRkZXYtPnBkZXYtPmlycSk7CisJciA9IGRybV9pcnFfaW5zdGFsbChyZGV2LT5kZGV2LCByZGV2 LT5wZGV2LT5pcnEpOwogCWlmIChyKSB7CiAJCXJkZXYtPmlycS5pbnN0YWxsZWQgPSBmYWxzZTsK IAkJZmx1c2hfZGVsYXllZF93b3JrKCZyZGV2LT5ob3RwbHVnX3dvcmspOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fa21zLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9rbXMuYwppbmRleCA3NWIwMzg3NDBlYTguLmU1MTY4OTUyN2Y0YyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fa21zLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fa21zLmMKQEAgLTEwMyw2ICsxMDMsNyBAQCB2b2lkIHJhZGVv bl9kcml2ZXJfdW5sb2FkX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogICovCiBpbnQgcmFk ZW9uX2RyaXZlcl9sb2FkX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBsb25n IGZsYWdzKQogeworCXN0cnVjdCBwY2lfZGV2ICpwZGV2ID0gdG9fcGNpX2RldihkZXYtPmRldik7 CiAJc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXY7CiAJaW50IHIsIGFjcGlfc3RhdHVzOwogCkBA IC0xMTMsOSArMTE0LDkgQEAgaW50IHJhZGVvbl9kcml2ZXJfbG9hZF9rbXMoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdW5zaWduZWQgbG9uZyBmbGFncykKIAlkZXYtPmRldl9wcml2YXRlID0gKHZv aWQgKilyZGV2OwogCiAJLyogdXBkYXRlIEJVUyBmbGFnICovCi0JaWYgKHBjaV9maW5kX2NhcGFi aWxpdHkoZGV2LT5wZGV2LCBQQ0lfQ0FQX0lEX0FHUCkpIHsKKwlpZiAocGNpX2ZpbmRfY2FwYWJp bGl0eShwZGV2LCBQQ0lfQ0FQX0lEX0FHUCkpIHsKIAkJZmxhZ3MgfD0gUkFERU9OX0lTX0FHUDsK LQl9IGVsc2UgaWYgKHBjaV9pc19wY2llKGRldi0+cGRldikpIHsKKwl9IGVsc2UgaWYgKHBjaV9p c19wY2llKHBkZXYpKSB7CiAJCWZsYWdzIHw9IFJBREVPTl9JU19QQ0lFOwogCX0gZWxzZSB7CiAJ CWZsYWdzIHw9IFJBREVPTl9JU19QQ0k7CkBAIC0xMjQsNyArMTI1LDcgQEAgaW50IHJhZGVvbl9k cml2ZXJfbG9hZF9rbXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgbG9uZyBmbGFn cykKIAlpZiAoKHJhZGVvbl9ydW50aW1lX3BtICE9IDApICYmCiAJICAgIHJhZGVvbl9oYXNfYXRw eCgpICYmCiAJICAgICgoZmxhZ3MgJiBSQURFT05fSVNfSUdQKSA9PSAwKSAmJgotCSAgICAhcGNp X2lzX3RodW5kZXJib2x0X2F0dGFjaGVkKGRldi0+cGRldikpCisJICAgICFwY2lfaXNfdGh1bmRl cmJvbHRfYXR0YWNoZWQocGRldikpCiAJCWZsYWdzIHw9IFJBREVPTl9JU19QWDsKIAogCS8qIHJh ZGVvbl9kZXZpY2VfaW5pdCBzaG91bGQgcmVwb3J0IG9ubHkgZmF0YWwgZXJyb3IKQEAgLTEzMyw5 ICsxMzQsOSBAQCBpbnQgcmFkZW9uX2RyaXZlcl9sb2FkX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB1bnNpZ25lZCBsb25nIGZsYWdzKQogCSAqIHByb3Blcmx5IGluaXRpYWxpemUgdGhlIEdQ VSBNQyBjb250cm9sbGVyIGFuZCBwZXJtaXQKIAkgKiBWUkFNIGFsbG9jYXRpb24KIAkgKi8KLQly ID0gcmFkZW9uX2RldmljZV9pbml0KHJkZXYsIGRldiwgZGV2LT5wZGV2LCBmbGFncyk7CisJciA9 IHJhZGVvbl9kZXZpY2VfaW5pdChyZGV2LCBkZXYsIHBkZXYsIGZsYWdzKTsKIAlpZiAocikgewot CQlkZXZfZXJyKCZkZXYtPnBkZXYtPmRldiwgIkZhdGFsIGVycm9yIGR1cmluZyBHUFUgaW5pdFxu Iik7CisJCWRldl9lcnIoZGV2LT5kZXYsICJGYXRhbCBlcnJvciBkdXJpbmcgR1BVIGluaXRcbiIp OwogCQlnb3RvIG91dDsKIAl9CiAKQEAgLTE0NSw3ICsxNDYsNyBAQCBpbnQgcmFkZW9uX2RyaXZl cl9sb2FkX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBsb25nIGZsYWdzKQog CSAqLwogCXIgPSByYWRlb25fbW9kZXNldF9pbml0KHJkZXYpOwogCWlmIChyKQotCQlkZXZfZXJy KCZkZXYtPnBkZXYtPmRldiwgIkZhdGFsIGVycm9yIGR1cmluZyBtb2Rlc2V0IGluaXRcbiIpOwor CQlkZXZfZXJyKGRldi0+ZGV2LCAiRmF0YWwgZXJyb3IgZHVyaW5nIG1vZGVzZXQgaW5pdFxuIik7 CiAKIAkvKiBDYWxsIEFDUEkgbWV0aG9kczogcmVxdWlyZSBtb2Rlc2V0IGluaXQKIAkgKiBidXQg ZmFpbHVyZSBpcyBub3QgZmF0YWwKQEAgLTE1Myw4ICsxNTQsNyBAQCBpbnQgcmFkZW9uX2RyaXZl cl9sb2FkX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBsb25nIGZsYWdzKQog CWlmICghcikgewogCQlhY3BpX3N0YXR1cyA9IHJhZGVvbl9hY3BpX2luaXQocmRldik7CiAJCWlm IChhY3BpX3N0YXR1cykKLQkJZGV2X2RiZygmZGV2LT5wZGV2LT5kZXYsCi0JCQkJIkVycm9yIGR1 cmluZyBBQ1BJIG1ldGhvZHMgY2FsbFxuIik7CisJCWRldl9kYmcoZGV2LT5kZXYsICJFcnJvciBk dXJpbmcgQUNQSSBtZXRob2RzIGNhbGxcbiIpOwogCX0KIAogCWlmIChyYWRlb25faXNfcHgoZGV2 KSkgewpAQCAtMjM3LDcgKzIzNyw3IEBAIGludCByYWRlb25faW5mb19pb2N0bChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbHApCiAKIAlzd2l0 Y2ggKGluZm8tPnJlcXVlc3QpIHsKIAljYXNlIFJBREVPTl9JTkZPX0RFVklDRV9JRDoKLQkJKnZh bHVlID0gZGV2LT5wZGV2LT5kZXZpY2U7CisJCSp2YWx1ZSA9IHRvX3BjaV9kZXYoZGV2LT5kZXYp LT5kZXZpY2U7CiAJCWJyZWFrOwogCWNhc2UgUkFERU9OX0lORk9fTlVNX0dCX1BJUEVTOgogCQkq dmFsdWUgPSByZGV2LT5udW1fZ2JfcGlwZXM7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9sZWdhY3lfZW5jb2RlcnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX2xlZ2FjeV9lbmNvZGVycy5jCmluZGV4IDQ0ZDA2MGY3NTMxOC4uMWU1MGM3ZWM2MjIy IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9sZWdhY3lfZW5jb2Rl cnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9sZWdhY3lfZW5jb2RlcnMu YwpAQCAtOTczLDkgKzk3Myw5IEBAIHN0YXRpYyB2b2lkIHJhZGVvbl9sZWdhY3lfdG1kc19leHRf bW9kZV9zZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCiAJCS8qIFhYWDogdGhlc2Ug YXJlIG9lbSBzcGVjaWZpYyAqLwogCQlpZiAoQVNJQ19JU19SMzAwKHJkZXYpKSB7Ci0JCQlpZiAo KGRldi0+cGRldi0+ZGV2aWNlID09IDB4NDg1MCkgJiYKLQkJCSAgICAoZGV2LT5wZGV2LT5zdWJz eXN0ZW1fdmVuZG9yID09IDB4MTAyOCkgJiYKLQkJCSAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1f ZGV2aWNlID09IDB4MjAwMSkpIC8qIERlbGwgSW5zcGlyb24gODYwMCAqLworCQkJaWYgKChyZGV2 LT5wZGV2LT5kZXZpY2UgPT0gMHg0ODUwKSAmJgorCQkJICAgIChyZGV2LT5wZGV2LT5zdWJzeXN0 ZW1fdmVuZG9yID09IDB4MTAyOCkgJiYKKwkJCSAgICAocmRldi0+cGRldi0+c3Vic3lzdGVtX2Rl dmljZSA9PSAweDIwMDEpKSAvKiBEZWxsIEluc3Bpcm9uIDg2MDAgKi8KIAkJCQlmcDJfZ2VuX2Nu dGwgfD0gUjMwMF9GUDJfRFZPX0NMT0NLX01PREVfU0lOR0xFOwogCQkJZWxzZQogCQkJCWZwMl9n ZW5fY250bCB8PSBSQURFT05fRlAyX1BBRF9GTE9QX0VOIHwgUjMwMF9GUDJfRFZPX0NMT0NLX01P REVfU0lOR0xFOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yczc4MF9kcG0u YyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnM3ODBfZHBtLmMKaW5kZXggMTczOTAwNzQyNzdh Li4yNGFkMTI0MDkxMjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnM3ODBf ZHBtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yczc4MF9kcG0uYwpAQCAtMjIzLDE2 ICsyMjMsMTUgQEAgc3RhdGljIHZvaWQgcnM3ODBfcHJlc2V0X3N0YXJ0aW5nX2ZiZGl2KHN0cnVj dCByYWRlb25fZGV2aWNlICpyZGV2KQogc3RhdGljIHZvaWQgcnM3ODBfdm9sdGFnZV9zY2FsaW5n X2luaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiB7CiAJc3RydWN0IGlncF9wb3dlcl9p bmZvICpwaSA9IHJzNzgwX2dldF9waShyZGV2KTsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g cmRldi0+ZGRldjsKIAl1MzIgZnZfdGhyb3RfcHdtX2ZiX2Rpdl9yYW5nZVszXTsKIAl1MzIgZnZf dGhyb3RfcHdtX3JhbmdlWzRdOwogCi0JaWYgKGRldi0+cGRldi0+ZGV2aWNlID09IDB4OTYxNCkg eworCWlmIChyZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg5NjE0KSB7CiAJCWZ2X3Rocm90X3B3bV9m Yl9kaXZfcmFuZ2VbMF0gPSBSUzc4MERfRlZUSFJPVFBXTUZCRElWUkFOR0VSRUcwX0RGTFQ7CiAJ CWZ2X3Rocm90X3B3bV9mYl9kaXZfcmFuZ2VbMV0gPSBSUzc4MERfRlZUSFJPVFBXTUZCRElWUkFO R0VSRUcxX0RGTFQ7CiAJCWZ2X3Rocm90X3B3bV9mYl9kaXZfcmFuZ2VbMl0gPSBSUzc4MERfRlZU SFJPVFBXTUZCRElWUkFOR0VSRUcyX0RGTFQ7Ci0JfSBlbHNlIGlmICgoZGV2LT5wZGV2LT5kZXZp Y2UgPT0gMHg5NzE0KSB8fAotCQkgICAoZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg5NzE1KSkgewor CX0gZWxzZSBpZiAoKHJkZXYtPnBkZXYtPmRldmljZSA9PSAweDk3MTQpIHx8CisJCSAgIChyZGV2 LT5wZGV2LT5kZXZpY2UgPT0gMHg5NzE1KSkgewogCQlmdl90aHJvdF9wd21fZmJfZGl2X3Jhbmdl WzBdID0gUlM4ODBEX0ZWVEhST1RQV01GQkRJVlJBTkdFUkVHMF9ERkxUOwogCQlmdl90aHJvdF9w d21fZmJfZGl2X3JhbmdlWzFdID0gUlM4ODBEX0ZWVEhST1RQV01GQkRJVlJBTkdFUkVHMV9ERkxU OwogCQlmdl90aHJvdF9wd21fZmJfZGl2X3JhbmdlWzJdID0gUlM4ODBEX0ZWVEhST1RQV01GQkRJ VlJBTkdFUkVHMl9ERkxUOwotLSAKMi4yOS4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpWaXJ0dWFsaXphdGlvbiBtYWlsaW5nIGxpc3QKVmlydHVhbGl6 YXRpb25AbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmcKaHR0cHM6Ly9saXN0cy5saW51eGZvdW5k YXRpb24ub3JnL21haWxtYW4vbGlzdGluZm8vdmlydHVhbGl6YXRpb24=