From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 26154C64E8A for ; Tue, 24 Nov 2020 11:39:39 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C6FDA206D8 for ; Tue, 24 Nov 2020 11:39:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C6FDA206D8 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 02E9E6E44E; Tue, 24 Nov 2020 11:38:39 +0000 (UTC) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id B00A56E32A; Tue, 24 Nov 2020 11:38:30 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 2F247ADD7; Tue, 24 Nov 2020 11:38:29 +0000 (UTC) From: Thomas Zimmermann To: airlied@linux.ie, daniel@ffwll.ch Date: Tue, 24 Nov 2020 12:38:20 +0100 Message-Id: <20201124113824.19994-12-tzimmermann@suse.de> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201124113824.19994-1-tzimmermann@suse.de> References: <20201124113824.19994-1-tzimmermann@suse.de> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 11/15] drm/radeon: Remove references to struct drm_device.pdev X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" VXNpbmcgc3RydWN0IGRybV9kZXZpY2UucGRldiBpcyBkZXByZWNhdGVkLiBDb252ZXJ0IHJhZGVv biB0byBzdHJ1Y3QKZHJtX2RldmljZS5kZXYuIE5vIGZ1bmN0aW9uYWwgY2hhbmdlcy4KClNpZ25l ZC1vZmYtYnk6IFRob21hcyBaaW1tZXJtYW5uIDx0emltbWVybWFubkBzdXNlLmRlPgpDYzogQWxl eCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgpDYzogQ2hyaXN0aWFuIEvDtm5p ZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24v YXRvbWJpb3NfZW5jb2RlcnMuYyAgICB8ICA2ICstCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Ix MDAuYyAgICAgICAgICAgICAgICAgfCAyNyArKystLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uLmggICAgICAgICAgICAgICB8IDMyICsrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRl b24vcmFkZW9uX2F0b21iaW9zLmMgICAgICB8IDg5ICsrKysrKysrKystLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Jpb3MuYyAgICAgICAgICB8ICA2ICstCiBkcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jb21iaW9zLmMgICAgICAgfCA1NSArKysrKystLS0tLS0K IGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2NzLmMgICAgICAgICAgICB8ICAzICstCiBk cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kZXZpY2UuYyAgICAgICAgfCAxNyArKy0tCiBk cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kaXNwbGF5LmMgICAgICAgfCAgMiArLQogZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmMgICAgICAgICAgIHwgIDMgKy0KIGRyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2ZiLmMgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9nZW0uYyAgICAgICAgICAgfCAgNiArLQogZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25faTJjLmMgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX2lycV9rbXMuYyAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9rbXMuYyAgICAgICAgICAgfCAyMCArKy0tLQogLi4uL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9sZWdhY3lfZW5jb2RlcnMuYyAgIHwgIDYgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcnM3ODBfZHBtLmMgICAgICAgICAgICB8ICA3ICstCiAxNyBmaWxlcyBjaGFuZ2Vk LCAxNDQgaW5zZXJ0aW9ucygrKSwgMTQxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vYXRvbWJpb3NfZW5jb2RlcnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vYXRvbWJpb3NfZW5jb2RlcnMuYwppbmRleCBjYzVlZTFiM2FmODQuLmE5YWU4YjZjNTk5 MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9hdG9tYmlvc19lbmNvZGVycy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vYXRvbWJpb3NfZW5jb2RlcnMuYwpAQCAtMjA2 NSw5ICsyMDY1LDkgQEAgYXRvbWJpb3NfYXBwbHlfZW5jb2Rlcl9xdWlya3Moc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCByYWRlb25fY3J0YyAqcmFkZW9uX2NydGMgPSB0b19y YWRlb25fY3J0YyhlbmNvZGVyLT5jcnRjKTsKIAogCS8qIEZ1bmt5IG1hY2Jvb2tzICovCi0JaWYg KChkZXYtPnBkZXYtPmRldmljZSA9PSAweDcxQzUpICYmCi0JICAgIChkZXYtPnBkZXYtPnN1YnN5 c3RlbV92ZW5kb3IgPT0gMHgxMDZiKSAmJgotCSAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fZGV2 aWNlID09IDB4MDA4MCkpIHsKKwlpZiAoKHJkZXYtPnBkZXYtPmRldmljZSA9PSAweDcxQzUpICYm CisJICAgIChyZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTA2YikgJiYKKwkgICAg KHJkZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgwMDgwKSkgewogCQlpZiAocmFkZW9u X2VuY29kZXItPmRldmljZXMgJiBBVE9NX0RFVklDRV9MQ0QxX1NVUFBPUlQpIHsKIAkJCXVpbnQz Ml90IGx2dG1hX2JpdF9kZXB0aF9jb250cm9sID0gUlJFRzMyKEFWSVZPX0xWVE1BX0JJVF9ERVBU SF9DT05UUk9MKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMTAwLmMg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IxMDAuYwppbmRleCAyNGM4ZGI2NzM5MzEuLjk4NGVl Yjg5M2Q3NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMTAwLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMTAwLmMKQEAgLTI2MTEsNyArMjYxMSw2IEBAIGludCBy MTAwX2FzaWNfcmVzZXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGJvb2wgaGFyZCkKIAog dm9pZCByMTAwX3NldF9jb21tb25fcmVncyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKIHsK LQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcmRldi0+ZGRldjsKIAlib29sIGZvcmNlX2RhYzIg PSBmYWxzZTsKIAl1MzIgdG1wOwogCkBAIC0yNjI5LDcgKzI2MjgsNyBAQCB2b2lkIHIxMDBfc2V0 X2NvbW1vbl9yZWdzKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogCSAqIGRvbid0IHJlcG9y dCBpdCBpbiB0aGUgYmlvcyBjb25uZWN0b3IKIAkgKiB0YWJsZS4KIAkgKi8KLQlzd2l0Y2ggKGRl di0+cGRldi0+ZGV2aWNlKSB7CisJc3dpdGNoIChyZGV2LT5wZGV2LT5kZXZpY2UpIHsKIAkJLyog Uk41MCAqLwogCWNhc2UgMHg1MTVlOgogCWNhc2UgMHg1OTY5OgpAQCAtMjYzOSwxNyArMjYzOCwx NyBAQCB2b2lkIHIxMDBfc2V0X2NvbW1vbl9yZWdzKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2 KQogCWNhc2UgMHg1MTU5OgogCWNhc2UgMHg1MTVhOgogCQkvKiBERUxMIHRyaXBsZSBoZWFkIHNl cnZlcnMgKi8KLQkJaWYgKChkZXYtPnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxMDI4IC8q IERFTEwgKi8pICYmCi0JCSAgICAoKGRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAx NmMpIHx8Ci0JCSAgICAgKGRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAxNmQpIHx8 Ci0JCSAgICAgKGRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAxNmUpIHx8Ci0JCSAg ICAgKGRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAxNmYpIHx8Ci0JCSAgICAgKGRl di0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAxNzApIHx8Ci0JCSAgICAgKGRldi0+cGRl di0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAxN2QpIHx8Ci0JCSAgICAgKGRldi0+cGRldi0+c3Vi c3lzdGVtX2RldmljZSA9PSAweDAxN2UpIHx8Ci0JCSAgICAgKGRldi0+cGRldi0+c3Vic3lzdGVt X2RldmljZSA9PSAweDAxODMpIHx8Ci0JCSAgICAgKGRldi0+cGRldi0+c3Vic3lzdGVtX2Rldmlj ZSA9PSAweDAxOGEpIHx8Ci0JCSAgICAgKGRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAw eDAxOWEpKSkKKwkJaWYgKChyZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTAyOCAv KiBERUxMICovKSAmJgorCQkgICAgKChyZGV2LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4 MDE2YykgfHwKKwkJICAgICAocmRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAxNmQp IHx8CisJCSAgICAgKHJkZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgwMTZlKSB8fAor CQkgICAgIChyZGV2LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MDE2ZikgfHwKKwkJICAg ICAocmRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAxNzApIHx8CisJCSAgICAgKHJk ZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgwMTdkKSB8fAorCQkgICAgIChyZGV2LT5w ZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MDE3ZSkgfHwKKwkJICAgICAocmRldi0+cGRldi0+ c3Vic3lzdGVtX2RldmljZSA9PSAweDAxODMpIHx8CisJCSAgICAgKHJkZXYtPnBkZXYtPnN1YnN5 c3RlbV9kZXZpY2UgPT0gMHgwMThhKSB8fAorCQkgICAgIChyZGV2LT5wZGV2LT5zdWJzeXN0ZW1f ZGV2aWNlID09IDB4MDE5YSkpKQogCQkJZm9yY2VfZGFjMiA9IHRydWU7CiAJCWJyZWFrOwogCX0K QEAgLTI3OTcsNyArMjc5Niw3IEBAIHZvaWQgcjEwMF92cmFtX2luaXRfc2l6ZXMoc3RydWN0IHJh ZGVvbl9kZXZpY2UgKnJkZXYpCiAJCQlyZGV2LT5tYy5yZWFsX3ZyYW1fc2l6ZSA9IDgxOTIgKiAx MDI0OwogCQkJV1JFRzMyKFJBREVPTl9DT05GSUdfTUVNU0laRSwgcmRldi0+bWMucmVhbF92cmFt X3NpemUpOwogCQl9Ci0JCS8qIEZpeCBmb3IgUk41MCwgTTYsIE03IHdpdGggOC8xNi8zMig/Pykg TUJzIG9mIFZSQU0gLSAKKwkJLyogRml4IGZvciBSTjUwLCBNNiwgTTcgd2l0aCA4LzE2LzMyKD8/ KSBNQnMgb2YgVlJBTSAtCiAJCSAqIE5vdmVsbCBidWcgMjA0ODgyICsgYWxvbmcgd2l0aCBsb3Rz IG9mIHVidW50dSBvbmVzCiAJCSAqLwogCQlpZiAocmRldi0+bWMuYXBlcl9zaXplID4gY29uZmln X2FwZXJfc2l6ZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCmluZGV4IDI4Y2I4Y2VkOTFiOS4uODdl ZjYyYTdlYzRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgKQEAgLTI2MjMsMTQgKzI2MjMsMTQg QEAgdm9pZCByMTAwX3BsbF9lcnJhdGFfYWZ0ZXJfaW5kZXgoc3RydWN0IHJhZGVvbl9kZXZpY2Ug KnJkZXYpOwogCQkocmRldi0+ZmFtaWx5ID09IENISVBfUlY0MTApIHx8CQkJXAogCQkocmRldi0+ ZmFtaWx5ID09IENISVBfUlM0MDApIHx8CQkJXAogCQkocmRldi0+ZmFtaWx5ID09IENISVBfUlM0 ODApKQotI2RlZmluZSBBU0lDX0lTX1gyKHJkZXYpICgocmRldi0+ZGRldi0+cGRldi0+ZGV2aWNl ID09IDB4OTQ0MSkgfHwgXAotCQkocmRldi0+ZGRldi0+cGRldi0+ZGV2aWNlID09IDB4OTQ0Mykg fHwgXAotCQkocmRldi0+ZGRldi0+cGRldi0+ZGV2aWNlID09IDB4OTQ0QikgfHwgXAotCQkocmRl di0+ZGRldi0+cGRldi0+ZGV2aWNlID09IDB4OTUwNikgfHwgXAotCQkocmRldi0+ZGRldi0+cGRl di0+ZGV2aWNlID09IDB4OTUwOSkgfHwgXAotCQkocmRldi0+ZGRldi0+cGRldi0+ZGV2aWNlID09 IDB4OTUwRikgfHwgXAotCQkocmRldi0+ZGRldi0+cGRldi0+ZGV2aWNlID09IDB4Njg5QykgfHwg XAotCQkocmRldi0+ZGRldi0+cGRldi0+ZGV2aWNlID09IDB4Njg5RCkpCisjZGVmaW5lIEFTSUNf SVNfWDIocmRldikgKChyZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg5NDQxKSB8fCBcCisJCShyZGV2 LT5wZGV2LT5kZXZpY2UgPT0gMHg5NDQzKSB8fCBcCisJCShyZGV2LT5wZGV2LT5kZXZpY2UgPT0g MHg5NDRCKSB8fCBcCisJCShyZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg5NTA2KSB8fCBcCisJCShy ZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg5NTA5KSB8fCBcCisJCShyZGV2LT5wZGV2LT5kZXZpY2Ug PT0gMHg5NTBGKSB8fCBcCisJCShyZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg2ODlDKSB8fCBcCisJ CShyZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg2ODlEKSkKICNkZWZpbmUgQVNJQ19JU19BVklWTyhy ZGV2KSAoKHJkZXYtPmZhbWlseSA+PSBDSElQX1JTNjAwKSkKICNkZWZpbmUgQVNJQ19JU19EQ0Uy KHJkZXYpICgocmRldi0+ZmFtaWx5ID09IENISVBfUlM2MDApICB8fAlcCiAJCQkgICAgKHJkZXYt PmZhbWlseSA9PSBDSElQX1JTNjkwKSAgfHwJXApAQCAtMjY1MywxNCArMjY1MywxNCBAQCB2b2lk IHIxMDBfcGxsX2VycmF0YV9hZnRlcl9pbmRleChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7 CiAjZGVmaW5lIEFTSUNfSVNfRENFODMocmRldikgKChyZGV2LT5mYW1pbHkgPT0gQ0hJUF9LQUJJ TkkpIHx8IFwKIAkJCSAgICAgKHJkZXYtPmZhbWlseSA9PSBDSElQX01VTExJTlMpKQogCi0jZGVm aW5lIEFTSUNfSVNfTE9NQk9LKHJkZXYpICgocmRldi0+ZGRldi0+cGRldi0+ZGV2aWNlID09IDB4 Njg0OSkgfHwgXAotCQkJICAgICAgKHJkZXYtPmRkZXYtPnBkZXYtPmRldmljZSA9PSAweDY4NTAp IHx8IFwKLQkJCSAgICAgIChyZGV2LT5kZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg2ODU4KSB8fCBc Ci0JCQkgICAgICAocmRldi0+ZGRldi0+cGRldi0+ZGV2aWNlID09IDB4Njg1OSkgfHwgXAotCQkJ ICAgICAgKHJkZXYtPmRkZXYtPnBkZXYtPmRldmljZSA9PSAweDY4NDApIHx8IFwKLQkJCSAgICAg IChyZGV2LT5kZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg2ODQxKSB8fCBcCi0JCQkgICAgICAocmRl di0+ZGRldi0+cGRldi0+ZGV2aWNlID09IDB4Njg0MikgfHwgXAotCQkJICAgICAgKHJkZXYtPmRk ZXYtPnBkZXYtPmRldmljZSA9PSAweDY4NDMpKQorI2RlZmluZSBBU0lDX0lTX0xPTUJPSyhyZGV2 KSAoKHJkZXYtPnBkZXYtPmRldmljZSA9PSAweDY4NDkpIHx8IFwKKwkJCSAgICAgIChyZGV2LT5w ZGV2LT5kZXZpY2UgPT0gMHg2ODUwKSB8fCBcCisJCQkgICAgICAocmRldi0+cGRldi0+ZGV2aWNl ID09IDB4Njg1OCkgfHwgXAorCQkJICAgICAgKHJkZXYtPnBkZXYtPmRldmljZSA9PSAweDY4NTkp IHx8IFwKKwkJCSAgICAgIChyZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg2ODQwKSB8fCBcCisJCQkg ICAgICAocmRldi0+cGRldi0+ZGV2aWNlID09IDB4Njg0MSkgfHwgXAorCQkJICAgICAgKHJkZXYt PnBkZXYtPmRldmljZSA9PSAweDY4NDIpIHx8IFwKKwkJCSAgICAgIChyZGV2LT5wZGV2LT5kZXZp Y2UgPT0gMHg2ODQzKSkKIAogLyoKICAqIEJJT1MgaGVscGVycy4KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F0b21iaW9zLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9hdG9tYmlvcy5jCmluZGV4IDVkMjU5MTcyNTE4OS4uZmZkNjNhYjU4YzQ5IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdG9tYmlvcy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F0b21iaW9zLmMKQEAgLTI5MSw0NiArMjkx LDQ3IEBAIHN0YXRpYyBib29sIHJhZGVvbl9hdG9tX2FwcGx5X3F1aXJrcyhzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCQkJCSAgICAgdWludDE2X3QgKmxpbmVfbXV4LAogCQkJCSAgICAgc3RydWN0 IHJhZGVvbl9ocGQgKmhwZCkKIHsKKwlzdHJ1Y3QgcGNpX2RldiAqcGRldiA9IHRvX3BjaV9kZXYo ZGV2LT5kZXYpOwogCiAJLyogQXN1cyBNMkEtVk0gSERNSSBib2FyZCBsaXN0cyB0aGUgRFZJIHBv cnQgYXMgSERNSSAqLwotCWlmICgoZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg3OTFlKSAmJgotCSAg ICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTA0MykgJiYKLQkgICAgKGRldi0+ cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDgyNmQpKSB7CisJaWYgKChwZGV2LT5kZXZpY2Ug PT0gMHg3OTFlKSAmJgorCSAgICAocGRldi0+c3Vic3lzdGVtX3ZlbmRvciA9PSAweDEwNDMpICYm CisJICAgIChwZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4ODI2ZCkpIHsKIAkJaWYgKCgqY29u bmVjdG9yX3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX0hETUlBKSAmJgogCQkgICAgKHN1cHBv cnRlZF9kZXZpY2UgPT0gQVRPTV9ERVZJQ0VfREZQM19TVVBQT1JUKSkKIAkJCSpjb25uZWN0b3Jf dHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9EVklEOwogCX0KIAogCS8qIEFzcm9jayBSUzYwMCBi b2FyZCBsaXN0cyB0aGUgRFZJIHBvcnQgYXMgSERNSSAqLwotCWlmICgoZGV2LT5wZGV2LT5kZXZp Y2UgPT0gMHg3OTQxKSAmJgotCSAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4 MTg0OSkgJiYKLQkgICAgKGRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDc5NDEpKSB7 CisJaWYgKChwZGV2LT5kZXZpY2UgPT0gMHg3OTQxKSAmJgorCSAgICAocGRldi0+c3Vic3lzdGVt X3ZlbmRvciA9PSAweDE4NDkpICYmCisJICAgIChwZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4 Nzk0MSkpIHsKIAkJaWYgKCgqY29ubmVjdG9yX3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX0hE TUlBKSAmJgogCQkgICAgKHN1cHBvcnRlZF9kZXZpY2UgPT0gQVRPTV9ERVZJQ0VfREZQM19TVVBQ T1JUKSkKIAkJCSpjb25uZWN0b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9EVklEOwogCX0K IAogCS8qIE1TSSBLOUEyR00gVjIvVjMgYm9hcmQgaGFzIG5vIEhETUkgb3IgRFZJICovCi0JaWYg KChkZXYtPnBkZXYtPmRldmljZSA9PSAweDc5NmUpICYmCi0JICAgIChkZXYtPnBkZXYtPnN1YnN5 c3RlbV92ZW5kb3IgPT0gMHgxNDYyKSAmJgotCSAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fZGV2 aWNlID09IDB4NzMwMikpIHsKKwlpZiAoKHBkZXYtPmRldmljZSA9PSAweDc5NmUpICYmCisJICAg IChwZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTQ2MikgJiYKKwkgICAgKHBkZXYtPnN1YnN5 c3RlbV9kZXZpY2UgPT0gMHg3MzAyKSkgewogCQlpZiAoKHN1cHBvcnRlZF9kZXZpY2UgPT0gQVRP TV9ERVZJQ0VfREZQMl9TVVBQT1JUKSB8fAogCQkgICAgKHN1cHBvcnRlZF9kZXZpY2UgPT0gQVRP TV9ERVZJQ0VfREZQM19TVVBQT1JUKSkKIAkJCXJldHVybiBmYWxzZTsKIAl9CiAKIAkvKiBhLWJp dCBmLWk5MGhkIC0gY2lhcmFubSBvbiAjcmFkZW9uaGQgLSB0aGlzIGJvYXJkIGhhcyBubyBEVkkg Ki8KLQlpZiAoKGRldi0+cGRldi0+ZGV2aWNlID09IDB4Nzk0MSkgJiYKLQkgICAgKGRldi0+cGRl di0+c3Vic3lzdGVtX3ZlbmRvciA9PSAweDE0N2IpICYmCi0JICAgIChkZXYtPnBkZXYtPnN1YnN5 c3RlbV9kZXZpY2UgPT0gMHgyNDEyKSkgeworCWlmICgocGRldi0+ZGV2aWNlID09IDB4Nzk0MSkg JiYKKwkgICAgKHBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxNDdiKSAmJgorCSAgICAocGRl di0+c3Vic3lzdGVtX2RldmljZSA9PSAweDI0MTIpKSB7CiAJCWlmICgqY29ubmVjdG9yX3R5cGUg PT0gRFJNX01PREVfQ09OTkVDVE9SX0RWSUkpCiAJCQlyZXR1cm4gZmFsc2U7CiAJfQogCiAJLyog RmFsY29uIE5XIGxhcHRvcCBsaXN0cyB2Z2EgZGRjIGxpbmUgZm9yIExWRFMgKi8KLQlpZiAoKGRl di0+cGRldi0+ZGV2aWNlID09IDB4NTY1MykgJiYKLQkgICAgKGRldi0+cGRldi0+c3Vic3lzdGVt X3ZlbmRvciA9PSAweDE0NjIpICYmCi0JICAgIChkZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZpY2Ug PT0gMHgwMjkxKSkgeworCWlmICgocGRldi0+ZGV2aWNlID09IDB4NTY1MykgJiYKKwkgICAgKHBk ZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxNDYyKSAmJgorCSAgICAocGRldi0+c3Vic3lzdGVt X2RldmljZSA9PSAweDAyOTEpKSB7CiAJCWlmICgqY29ubmVjdG9yX3R5cGUgPT0gRFJNX01PREVf Q09OTkVDVE9SX0xWRFMpIHsKIAkJCWkyY19idXMtPnZhbGlkID0gZmFsc2U7CiAJCQkqbGluZV9t dXggPSA1MzsKQEAgLTMzOCwyNiArMzM5LDI2IEBAIHN0YXRpYyBib29sIHJhZGVvbl9hdG9tX2Fw cGx5X3F1aXJrcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCX0KIAogCS8qIEhJUyBYMTMwMCBp cyBEVkkrVkdBLCBub3QgRFZJK0RWSSAqLwotCWlmICgoZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg3 MTQ2KSAmJgotCSAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTdhZikgJiYK LQkgICAgKGRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDIwNTgpKSB7CisJaWYgKChw ZGV2LT5kZXZpY2UgPT0gMHg3MTQ2KSAmJgorCSAgICAocGRldi0+c3Vic3lzdGVtX3ZlbmRvciA9 PSAweDE3YWYpICYmCisJICAgIChwZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MjA1OCkpIHsK IAkJaWYgKHN1cHBvcnRlZF9kZXZpY2UgPT0gQVRPTV9ERVZJQ0VfREZQMV9TVVBQT1JUKQogCQkJ cmV0dXJuIGZhbHNlOwogCX0KIAogCS8qIEdpZ2FieXRlIFgxMzAwIGlzIERWSStWR0EsIG5vdCBE VkkrRFZJICovCi0JaWYgKChkZXYtPnBkZXYtPmRldmljZSA9PSAweDcxNDIpICYmCi0JICAgIChk ZXYtPnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxNDU4KSAmJgotCSAgICAoZGV2LT5wZGV2 LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MjEzNCkpIHsKKwlpZiAoKHBkZXYtPmRldmljZSA9PSAw eDcxNDIpICYmCisJICAgIChwZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTQ1OCkgJiYKKwkg ICAgKHBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgyMTM0KSkgewogCQlpZiAoc3VwcG9ydGVk X2RldmljZSA9PSBBVE9NX0RFVklDRV9ERlAxX1NVUFBPUlQpCiAJCQlyZXR1cm4gZmFsc2U7CiAJ fQogCiAKIAkvKiBGdW5reSBtYWNib29rcyAqLwotCWlmICgoZGV2LT5wZGV2LT5kZXZpY2UgPT0g MHg3MUM1KSAmJgotCSAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTA2Yikg JiYKLQkgICAgKGRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAwODApKSB7CisJaWYg KChwZGV2LT5kZXZpY2UgPT0gMHg3MUM1KSAmJgorCSAgICAocGRldi0+c3Vic3lzdGVtX3ZlbmRv ciA9PSAweDEwNmIpICYmCisJICAgIChwZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MDA4MCkp IHsKIAkJaWYgKChzdXBwb3J0ZWRfZGV2aWNlID09IEFUT01fREVWSUNFX0NSVDFfU1VQUE9SVCkg fHwKIAkJICAgIChzdXBwb3J0ZWRfZGV2aWNlID09IEFUT01fREVWSUNFX0RGUDJfU1VQUE9SVCkp CiAJCQlyZXR1cm4gZmFsc2U7CkBAIC0zNzMsMjcgKzM3NCwyNyBAQCBzdGF0aWMgYm9vbCByYWRl b25fYXRvbV9hcHBseV9xdWlya3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAl9CiAKIAkvKiBB U1VTIEhEIDM2MDAgWFQgYm9hcmQgbGlzdHMgdGhlIERWSSBwb3J0IGFzIEhETUkgKi8KLQlpZiAo KGRldi0+cGRldi0+ZGV2aWNlID09IDB4OTU5OCkgJiYKLQkgICAgKGRldi0+cGRldi0+c3Vic3lz dGVtX3ZlbmRvciA9PSAweDEwNDMpICYmCi0JICAgIChkZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZp Y2UgPT0gMHgwMWRhKSkgeworCWlmICgocGRldi0+ZGV2aWNlID09IDB4OTU5OCkgJiYKKwkgICAg KHBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxMDQzKSAmJgorCSAgICAocGRldi0+c3Vic3lz dGVtX2RldmljZSA9PSAweDAxZGEpKSB7CiAJCWlmICgqY29ubmVjdG9yX3R5cGUgPT0gRFJNX01P REVfQ09OTkVDVE9SX0hETUlBKSB7CiAJCQkqY29ubmVjdG9yX3R5cGUgPSBEUk1fTU9ERV9DT05O RUNUT1JfRFZJSTsKIAkJfQogCX0KIAogCS8qIEFTVVMgSEQgMzYwMCBib2FyZCBsaXN0cyB0aGUg RFZJIHBvcnQgYXMgSERNSSAqLwotCWlmICgoZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg5NTk4KSAm JgotCSAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTA0MykgJiYKLQkgICAg KGRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDAxZTQpKSB7CisJaWYgKChwZGV2LT5k ZXZpY2UgPT0gMHg5NTk4KSAmJgorCSAgICAocGRldi0+c3Vic3lzdGVtX3ZlbmRvciA9PSAweDEw NDMpICYmCisJICAgIChwZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MDFlNCkpIHsKIAkJaWYg KCpjb25uZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfSERNSUEpIHsKIAkJCSpjb25u ZWN0b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9EVklJOwogCQl9CiAJfQogCiAJLyogQVNV UyBIRCAzNDUwIGJvYXJkIGxpc3RzIHRoZSBEVkkgcG9ydCBhcyBIRE1JICovCi0JaWYgKChkZXYt PnBkZXYtPmRldmljZSA9PSAweDk1QzUpICYmCi0JICAgIChkZXYtPnBkZXYtPnN1YnN5c3RlbV92 ZW5kb3IgPT0gMHgxMDQzKSAmJgotCSAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09 IDB4MDFlMikpIHsKKwlpZiAoKHBkZXYtPmRldmljZSA9PSAweDk1QzUpICYmCisJICAgIChwZGV2 LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTA0MykgJiYKKwkgICAgKHBkZXYtPnN1YnN5c3RlbV9k ZXZpY2UgPT0gMHgwMWUyKSkgewogCQlpZiAoKmNvbm5lY3Rvcl90eXBlID09IERSTV9NT0RFX0NP Tk5FQ1RPUl9IRE1JQSkgewogCQkJKmNvbm5lY3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9S X0RWSUk7CiAJCX0KQEAgLTQxOCw5ICs0MTksOSBAQCBzdGF0aWMgYm9vbCByYWRlb25fYXRvbV9h cHBseV9xdWlya3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkgKiB3aXRoIGRpZmZlcmVudCBj cnRjcyB3aGljaCBpc24ndCBwb3NzaWJsZSBvbiB0aGUgaGFyZHdhcmUKIAkgKiBzaWRlIGFuZCBs ZWF2ZXMgbm8gY3J0Y3MgZm9yIExWRFMgb3IgVkdBLgogCSAqLwotCWlmICgoKGRldi0+cGRldi0+ ZGV2aWNlID09IDB4OTVjNCkgfHwgKGRldi0+cGRldi0+ZGV2aWNlID09IDB4OTU5MSkpICYmCi0J ICAgIChkZXYtPnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxMDI1KSAmJgotCSAgICAoZGV2 LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MDEzYykpIHsKKwlpZiAoKChwZGV2LT5kZXZp Y2UgPT0gMHg5NWM0KSB8fCAocGRldi0+ZGV2aWNlID09IDB4OTU5MSkpICYmCisJICAgIChwZGV2 LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTAyNSkgJiYKKwkgICAgKHBkZXYtPnN1YnN5c3RlbV9k ZXZpY2UgPT0gMHgwMTNjKSkgewogCQlpZiAoKCpjb25uZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9D T05ORUNUT1JfRFZJSSkgJiYKIAkJICAgIChzdXBwb3J0ZWRfZGV2aWNlID09IEFUT01fREVWSUNF X0RGUDFfU1VQUE9SVCkpIHsKIAkJCS8qIGFjdHVhbGx5IGl0J3MgYSBEVkktRCBwb3J0IG5vdCBE VkktSSAqLwpAQCAtNDMyLDkgKzQzMyw5IEBAIHN0YXRpYyBib29sIHJhZGVvbl9hdG9tX2FwcGx5 X3F1aXJrcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCS8qIFhGWCBQaW5lIEdyb3VwIGRldmlj ZSBydjczMCByZXBvcnRzIG5vIFZHQSBEREMgbGluZXMKIAkgKiBldmVuIHRob3VnaCB0aGV5IGFy ZSB3aXJlZCB1cCB0byByZWNvcmQgMHg5MwogCSAqLwotCWlmICgoZGV2LT5wZGV2LT5kZXZpY2Ug PT0gMHg5NDk4KSAmJgotCSAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTY4 MikgJiYKLQkgICAgKGRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDI0NTIpICYmCisJ aWYgKChwZGV2LT5kZXZpY2UgPT0gMHg5NDk4KSAmJgorCSAgICAocGRldi0+c3Vic3lzdGVtX3Zl bmRvciA9PSAweDE2ODIpICYmCisJICAgIChwZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09IDB4MjQ1 MikgJiYKIAkgICAgKGkyY19idXMtPnZhbGlkID09IGZhbHNlKSAmJgogCSAgICAhKHN1cHBvcnRl ZF9kZXZpY2UgJiAoQVRPTV9ERVZJQ0VfVFZfU1VQUE9SVCB8IEFUT01fREVWSUNFX0NWX1NVUFBP UlQpKSkgewogCQlzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiA9IGRldi0+ZGV2X3ByaXZhdGU7 CkBAIC00NDIsMTEgKzQ0MywxMSBAQCBzdGF0aWMgYm9vbCByYWRlb25fYXRvbV9hcHBseV9xdWly a3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAl9CiAKIAkvKiBGdWppdHN1IEQzMDAzLVMyIGJv YXJkIGxpc3RzIERWSS1JIGFzIERWSS1EIGFuZCBWR0EgKi8KLQlpZiAoKChkZXYtPnBkZXYtPmRl dmljZSA9PSAweDk4MDIpIHx8Ci0JICAgICAoZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg5ODA1KSB8 fAotCSAgICAgKGRldi0+cGRldi0+ZGV2aWNlID09IDB4OTgwNikpICYmCi0JICAgIChkZXYtPnBk ZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxNzM0KSAmJgotCSAgICAoZGV2LT5wZGV2LT5zdWJz eXN0ZW1fZGV2aWNlID09IDB4MTFiZCkpIHsKKwlpZiAoKChwZGV2LT5kZXZpY2UgPT0gMHg5ODAy KSB8fAorCSAgICAgKHBkZXYtPmRldmljZSA9PSAweDk4MDUpIHx8CisJICAgICAocGRldi0+ZGV2 aWNlID09IDB4OTgwNikpICYmCisJICAgIChwZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTcz NCkgJiYKKwkgICAgKHBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgxMWJkKSkgewogCQlpZiAo KmNvbm5lY3Rvcl90eXBlID09IERSTV9NT0RFX0NPTk5FQ1RPUl9WR0EpIHsKIAkJCSpjb25uZWN0 b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9EVklJOwogCQkJKmxpbmVfbXV4ID0gMHgzMTAz OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYmlvcy5jIGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYmlvcy5jCmluZGV4IGJiMjljZjAyOTc0ZC4uNTAw Nzk2ZGM1ZDc0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9iaW9z LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYmlvcy5jCkBAIC01MjgsNyAr NTI4LDcgQEAgc3RhdGljIGJvb2wgbGVnYWN5X3JlYWRfZGlzYWJsZWRfYmlvcyhzdHJ1Y3QgcmFk ZW9uX2RldmljZSAqcmRldikKIAljcnRjX2V4dF9jbnRsID0gUlJFRzMyKFJBREVPTl9DUlRDX0VY VF9DTlRMKTsKIAlmcDJfZ2VuX2NudGwgPSAwOwogCi0JaWYgKHJkZXYtPmRkZXYtPnBkZXYtPmRl dmljZSA9PSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fUVkpIHsKKwlpZiAocmRldi0+cGRldi0+ ZGV2aWNlID09IFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9RWSkgewogCQlmcDJfZ2VuX2NudGwg PSBSUkVHMzIoUkFERU9OX0ZQMl9HRU5fQ05UTCk7CiAJfQogCkBAIC01NjUsNyArNTY1LDcgQEAg c3RhdGljIGJvb2wgbGVnYWN5X3JlYWRfZGlzYWJsZWRfYmlvcyhzdHJ1Y3QgcmFkZW9uX2Rldmlj ZSAqcmRldikKIAkJKFJBREVPTl9DUlRDX1NZTkNfVFJJU1RBVCB8CiAJCSBSQURFT05fQ1JUQ19E SVNQTEFZX0RJUykpKTsKIAotCWlmIChyZGV2LT5kZGV2LT5wZGV2LT5kZXZpY2UgPT0gUENJX0RF VklDRV9JRF9BVElfUkFERU9OX1FZKSB7CisJaWYgKHJkZXYtPnBkZXYtPmRldmljZSA9PSBQQ0lf REVWSUNFX0lEX0FUSV9SQURFT05fUVkpIHsKIAkJV1JFRzMyKFJBREVPTl9GUDJfR0VOX0NOVEws IChmcDJfZ2VuX2NudGwgJiB+UkFERU9OX0ZQMl9PTikpOwogCX0KIApAQCAtNTgzLDcgKzU4Myw3 IEBAIHN0YXRpYyBib29sIGxlZ2FjeV9yZWFkX2Rpc2FibGVkX2Jpb3Moc3RydWN0IHJhZGVvbl9k ZXZpY2UgKnJkZXYpCiAJCVdSRUczMihSQURFT05fQ1JUQzJfR0VOX0NOVEwsIGNydGMyX2dlbl9j bnRsKTsKIAl9CiAJV1JFRzMyKFJBREVPTl9DUlRDX0VYVF9DTlRMLCBjcnRjX2V4dF9jbnRsKTsK LQlpZiAocmRldi0+ZGRldi0+cGRldi0+ZGV2aWNlID09IFBDSV9ERVZJQ0VfSURfQVRJX1JBREVP Tl9RWSkgeworCWlmIChyZGV2LT5wZGV2LT5kZXZpY2UgPT0gUENJX0RFVklDRV9JRF9BVElfUkFE RU9OX1FZKSB7CiAJCVdSRUczMihSQURFT05fRlAyX0dFTl9DTlRMLCBmcDJfZ2VuX2NudGwpOwog CX0KIAlyZXR1cm4gcjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X2NvbWJpb3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2NvbWJpb3MuYwppbmRl eCBkM2MwNGRmN2U3NWQuLjQ1OTZhNjI4YTJjMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb25fY29tYmlvcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2NvbWJpb3MuYwpAQCAtODk4LDEzICs4OTgsMTMgQEAgc3RydWN0IHJhZGVvbl9lbmNvZGVy X3ByaW1hcnlfZGFjICpyYWRlb25fY29tYmlvc19nZXRfcHJpbWFyeV9kYWNfaW5mbyhzdHJ1Y3QK IAogCS8qIHF1aXJrcyAqLwogCS8qIFJhZGVvbiA3MDAwIChSVjEwMCkgKi8KLQlpZiAoKChkZXYt PnBkZXYtPmRldmljZSA9PSAweDUxNTkpICYmCi0JICAgIChkZXYtPnBkZXYtPnN1YnN5c3RlbV92 ZW5kb3IgPT0gMHgxNzRCKSAmJgotCSAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fZGV2aWNlID09 IDB4N2MyOCkpIHx8CisJaWYgKCgocmRldi0+cGRldi0+ZGV2aWNlID09IDB4NTE1OSkgJiYKKwkg ICAgKHJkZXYtPnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxNzRCKSAmJgorCSAgICAocmRl di0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDdjMjgpKSB8fAogCS8qIFJhZGVvbiA5MTAw IChSMjAwKSAqLwotCSAgICgoZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg1MTREKSAmJgotCSAgICAo ZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTc0QikgJiYKLQkgICAgKGRldi0+cGRl di0+c3Vic3lzdGVtX2RldmljZSA9PSAweDcxNDkpKSkgeworCSAgICgocmRldi0+cGRldi0+ZGV2 aWNlID09IDB4NTE0RCkgJiYKKwkgICAgKHJkZXYtPnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0g MHgxNzRCKSAmJgorCSAgICAocmRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDcxNDkp KSkgewogCQkvKiB2YmlvcyB2YWx1ZSBpcyBiYWQsIHVzZSB0aGUgZGVmYXVsdCAqLwogCQlmb3Vu ZCA9IDA7CiAJfQpAQCAtMjIyNSwyMCArMjIyNSwyMSBAQCBzdGF0aWMgYm9vbCByYWRlb25fYXBw bHlfbGVnYWN5X3F1aXJrcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCSAgICAgICBzdHJ1 Y3QgcmFkZW9uX2kyY19idXNfcmVjICpkZGNfaTJjLAogCQkJCSAgICAgICBzdHJ1Y3QgcmFkZW9u X2hwZCAqaHBkKQogeworCXN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2ID0gZGV2LT5kZXZfcHJp dmF0ZTsKIAogCS8qIENlcnRhaW4gSUJNIGNoaXBzZXQgUk41MHMgaGF2ZSBhIEJJT1MgcmVwb3J0 aW5nIHR3byBWR0FzLAogCSAgIG9uZSB3aXRoIFZHQSBEREMgYW5kIG9uZSB3aXRoIENSVDIgRERD LiAtIGtpbGwgdGhlIENSVDIgRERDIG9uZSAqLwotCWlmIChkZXYtPnBkZXYtPmRldmljZSA9PSAw eDUxNWUgJiYKLQkgICAgZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTAxNCkgewor CWlmIChyZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg1MTVlICYmCisJICAgIHJkZXYtPnBkZXYtPnN1 YnN5c3RlbV92ZW5kb3IgPT0gMHgxMDE0KSB7CiAJCWlmICgqbGVnYWN5X2Nvbm5lY3RvciA9PSBD T05ORUNUT1JfQ1JUX0xFR0FDWSAmJgogCQkgICAgZGRjX2kyYy0+bWFza19jbGtfcmVnID09IFJB REVPTl9HUElPX0NSVDJfRERDKQogCQkJcmV0dXJuIGZhbHNlOwogCX0KIAogCS8qIFgzMDAgY2Fy ZCB3aXRoIGV4dHJhIG5vbi1leGlzdGVudCBEVkkgcG9ydCAqLwotCWlmIChkZXYtPnBkZXYtPmRl dmljZSA9PSAweDVCNjAgJiYKLQkgICAgZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4 MTdhZiAmJgotCSAgICBkZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgyMDFlICYmIGJp b3NfaW5kZXggPT0gMikgeworCWlmIChyZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg1QjYwICYmCisJ ICAgIHJkZXYtPnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxN2FmICYmCisJICAgIHJkZXYt PnBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgyMDFlICYmIGJpb3NfaW5kZXggPT0gMikgewog CQlpZiAoKmxlZ2FjeV9jb25uZWN0b3IgPT0gQ09OTkVDVE9SX0RWSV9JX0xFR0FDWSkKIAkJCXJl dHVybiBmYWxzZTsKIAl9CkBAIC0yMjQ4LDIyICsyMjQ5LDI0IEBAIHN0YXRpYyBib29sIHJhZGVv bl9hcHBseV9sZWdhY3lfcXVpcmtzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAKIHN0YXRpYyBi b29sIHJhZGVvbl9hcHBseV9sZWdhY3lfdHZfcXVpcmtzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp CiB7CisJc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYgPSBkZXYtPmRldl9wcml2YXRlOworCiAJ LyogQWNlciA1MTAyIGhhcyBub24tZXhpc3RlbnQgVFYgcG9ydCAqLwotCWlmIChkZXYtPnBkZXYt PmRldmljZSA9PSAweDU5NzUgJiYKLQkgICAgZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09 IDB4MTAyNSAmJgotCSAgICBkZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgwMDlmKQor CWlmIChyZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg1OTc1ICYmCisJICAgIHJkZXYtPnBkZXYtPnN1 YnN5c3RlbV92ZW5kb3IgPT0gMHgxMDI1ICYmCisJICAgIHJkZXYtPnBkZXYtPnN1YnN5c3RlbV9k ZXZpY2UgPT0gMHgwMDlmKQogCQlyZXR1cm4gZmFsc2U7CiAKIAkvKiBIUCBkYzU3NTAgaGFzIG5v bi1leGlzdGVudCBUViBwb3J0ICovCi0JaWYgKGRldi0+cGRldi0+ZGV2aWNlID09IDB4NTk3NCAm JgotCSAgICBkZXYtPnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxMDNjICYmCi0JICAgIGRl di0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDI4MGEpCisJaWYgKHJkZXYtPnBkZXYtPmRl dmljZSA9PSAweDU5NzQgJiYKKwkgICAgcmRldi0+cGRldi0+c3Vic3lzdGVtX3ZlbmRvciA9PSAw eDEwM2MgJiYKKwkgICAgcmRldi0+cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDI4MGEpCiAJ CXJldHVybiBmYWxzZTsKIAogCS8qIE1TSSBTMjcwIGhhcyBub24tZXhpc3RlbnQgVFYgcG9ydCAq LwotCWlmIChkZXYtPnBkZXYtPmRldmljZSA9PSAweDU5NTUgJiYKLQkgICAgZGV2LT5wZGV2LT5z dWJzeXN0ZW1fdmVuZG9yID09IDB4MTQ2MiAmJgotCSAgICBkZXYtPnBkZXYtPnN1YnN5c3RlbV9k ZXZpY2UgPT0gMHgwMTMxKQorCWlmIChyZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg1OTU1ICYmCisJ ICAgIHJkZXYtPnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxNDYyICYmCisJICAgIHJkZXYt PnBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgwMTMxKQogCQlyZXR1cm4gZmFsc2U7CiAKIAly ZXR1cm4gdHJ1ZTsKQEAgLTI0MTcsOSArMjQyMCw5IEBAIGJvb2wgcmFkZW9uX2dldF9sZWdhY3lf Y29ubmVjdG9yX2luZm9fZnJvbV9iaW9zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCQkJLyog UlYxMDAgYm9hcmQgd2l0aCBleHRlcm5hbCBURE1TIGJpdCBtaXMtc2V0LgogCQkJCSAqIEFjdHVh bGx5IHVzZXMgaW50ZXJuYWwgVE1EUywgY2xlYXIgdGhlIGJpdC4KIAkJCQkgKi8KLQkJCQlpZiAo ZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg1MTU5ICYmCi0JCQkJICAgIGRldi0+cGRldi0+c3Vic3lz dGVtX3ZlbmRvciA9PSAweDEwMTQgJiYKLQkJCQkgICAgZGV2LT5wZGV2LT5zdWJzeXN0ZW1fZGV2 aWNlID09IDB4MDI5QSkgeworCQkJCWlmIChyZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg1MTU5ICYm CisJCQkJICAgIHJkZXYtPnBkZXYtPnN1YnN5c3RlbV92ZW5kb3IgPT0gMHgxMDE0ICYmCisJCQkJ ICAgIHJkZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgwMjlBKSB7CiAJCQkJCXRtcCAm PSB+KDEgPDwgNCk7CiAJCQkJfQogCQkJCWlmICgodG1wID4+IDQpICYgMHgxKSB7CkBAIC0yNzEx LDkgKzI3MTQsOSBAQCB2b2lkIHJhZGVvbl9jb21iaW9zX2dldF9wb3dlcl9tb2RlcyhzdHJ1Y3Qg cmFkZW9uX2RldmljZSAqcmRldikKIAkJLyogYm9hcmRzIHdpdGggYSB0aGVybWFsIGNoaXAsIGJ1 dCBubyBvdmVyZHJpdmUgdGFibGUgKi8KIAogCQkvKiBBc3VzIDk2MDB4dCBoYXMgYW4gZjc1Mzc1 IG9uIHRoZSBtb25pZCBidXMgKi8KLQkJaWYgKChkZXYtPnBkZXYtPmRldmljZSA9PSAweDQxNTIp ICYmCi0JCSAgICAoZGV2LT5wZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IDB4MTA0MykgJiYKLQkJ ICAgIChkZXYtPnBkZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHhjMDAyKSkgeworCQlpZiAoKHJk ZXYtPnBkZXYtPmRldmljZSA9PSAweDQxNTIpICYmCisJCSAgICAocmRldi0+cGRldi0+c3Vic3lz dGVtX3ZlbmRvciA9PSAweDEwNDMpICYmCisJCSAgICAocmRldi0+cGRldi0+c3Vic3lzdGVtX2Rl dmljZSA9PSAweGMwMDIpKSB7CiAJCQlpMmNfYnVzID0gY29tYmlvc19zZXR1cF9pMmNfYnVzKHJk ZXYsIEREQ19NT05JRCwgMCwgMCk7CiAJCQlyZGV2LT5wbS5pMmNfYnVzID0gcmFkZW9uX2kyY19s b29rdXAocmRldiwgJmkyY19idXMpOwogCQkJaWYgKHJkZXYtPnBtLmkyY19idXMpIHsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2NzLmMgYi9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9jcy5jCmluZGV4IDIxY2UyZjk1MDJjMC4uZjdhZmYyM2I0YTUyIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jcy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2NzLmMKQEAgLTEzMCw4ICsxMzAsNyBAQCBzdGF0aWMg aW50IHJhZGVvbl9jc19wYXJzZXJfcmVsb2NzKHN0cnVjdCByYWRlb25fY3NfcGFyc2VyICpwKQog CQkgKiBJR1AgY2hpcHMgdG8gYXZvaWQgaW1hZ2UgY29ycnVwdGlvbnMKIAkJICovCiAJCWlmIChw LT5yaW5nID09IFI2MDBfUklOR19UWVBFX1VWRF9JTkRFWCAmJgotCQkgICAgKGkgPD0gMCB8fCBw Y2lfZmluZF9jYXBhYmlsaXR5KHAtPnJkZXYtPmRkZXYtPnBkZXYsCi0JCQkJCQkgICBQQ0lfQ0FQ X0lEX0FHUCkgfHwKKwkJICAgIChpIDw9IDAgfHwgcGNpX2ZpbmRfY2FwYWJpbGl0eShwLT5yZGV2 LT5wZGV2LCBQQ0lfQ0FQX0lEX0FHUCkgfHwKIAkJICAgICBwLT5yZGV2LT5mYW1pbHkgPT0gQ0hJ UF9SUzc4MCB8fAogCQkgICAgIHAtPnJkZXYtPmZhbWlseSA9PSBDSElQX1JTODgwKSkgewogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kZXZpY2UuYyBiL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2RldmljZS5jCmluZGV4IDI2NmUzY2JiZDA5Yi4uOTQ3 NDdmN2M5ZjI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kZXZp Y2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kZXZpY2UuYwpAQCAtMTU2 NCw2ICsxNTY0LDcgQEAgaW50IHJhZGVvbl9zdXNwZW5kX2ttcyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBib29sIHN1c3BlbmQsCiAJCSAgICAgICBib29sIGZiY29uLCBib29sIGZyZWV6ZSkKIHsK IAlzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldjsKKwlzdHJ1Y3QgcGNpX2RldiAqcGRldjsKIAlz dHJ1Y3QgZHJtX2NydGMgKmNydGM7CiAJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsK IAlpbnQgaSwgcjsKQEAgLTE1NzMsNiArMTU3NCw3IEBAIGludCByYWRlb25fc3VzcGVuZF9rbXMo c3RydWN0IGRybV9kZXZpY2UgKmRldiwgYm9vbCBzdXNwZW5kLAogCX0KIAogCXJkZXYgPSBkZXYt PmRldl9wcml2YXRlOworCXBkZXYgPSB0b19wY2lfZGV2KGRldi0+ZGV2KTsKIAogCWlmIChkZXYt PnN3aXRjaF9wb3dlcl9zdGF0ZSA9PSBEUk1fU1dJVENIX1BPV0VSX09GRikKIAkJcmV0dXJuIDA7 CkBAIC0xNjM4LDE0ICsxNjQwLDE0IEBAIGludCByYWRlb25fc3VzcGVuZF9rbXMoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgYm9vbCBzdXNwZW5kLAogCiAJcmFkZW9uX2FncF9zdXNwZW5kKHJkZXYp OwogCi0JcGNpX3NhdmVfc3RhdGUoZGV2LT5wZGV2KTsKKwlwY2lfc2F2ZV9zdGF0ZShwZGV2KTsK IAlpZiAoZnJlZXplICYmIHJkZXYtPmZhbWlseSA+PSBDSElQX0NFREFSICYmICEocmRldi0+Zmxh Z3MgJiBSQURFT05fSVNfSUdQKSkgewogCQlyZGV2LT5hc2ljLT5hc2ljX3Jlc2V0KHJkZXYsIHRy dWUpOwotCQlwY2lfcmVzdG9yZV9zdGF0ZShkZXYtPnBkZXYpOworCQlwY2lfcmVzdG9yZV9zdGF0 ZShwZGV2KTsKIAl9IGVsc2UgaWYgKHN1c3BlbmQpIHsKIAkJLyogU2h1dCBkb3duIHRoZSBkZXZp Y2UgKi8KLQkJcGNpX2Rpc2FibGVfZGV2aWNlKGRldi0+cGRldik7Ci0JCXBjaV9zZXRfcG93ZXJf c3RhdGUoZGV2LT5wZGV2LCBQQ0lfRDNob3QpOworCQlwY2lfZGlzYWJsZV9kZXZpY2UocGRldik7 CisJCXBjaV9zZXRfcG93ZXJfc3RhdGUocGRldiwgUENJX0QzaG90KTsKIAl9CiAKIAlpZiAoZmJj b24pIHsKQEAgLTE2NjksNiArMTY3MSw3IEBAIGludCByYWRlb25fcmVzdW1lX2ttcyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCBib29sIHJlc3VtZSwgYm9vbCBmYmNvbikKIHsKIAlzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yOwogCXN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgcGNpX2RldiAqcGRldiA9IHRvX3BjaV9kZXYoZGV2LT5k ZXYpOwogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKIAlpbnQgcjsKIApAQCAtMTY3OSw5ICsxNjgy LDkgQEAgaW50IHJhZGVvbl9yZXN1bWVfa21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wg cmVzdW1lLCBib29sIGZiY29uKQogCQljb25zb2xlX2xvY2soKTsKIAl9CiAJaWYgKHJlc3VtZSkg ewotCQlwY2lfc2V0X3Bvd2VyX3N0YXRlKGRldi0+cGRldiwgUENJX0QwKTsKLQkJcGNpX3Jlc3Rv cmVfc3RhdGUoZGV2LT5wZGV2KTsKLQkJaWYgKHBjaV9lbmFibGVfZGV2aWNlKGRldi0+cGRldikp IHsKKwkJcGNpX3NldF9wb3dlcl9zdGF0ZShwZGV2LCBQQ0lfRDApOworCQlwY2lfcmVzdG9yZV9z dGF0ZShwZGV2KTsKKwkJaWYgKHBjaV9lbmFibGVfZGV2aWNlKHBkZXYpKSB7CiAJCQlpZiAoZmJj b24pCiAJCQkJY29uc29sZV91bmxvY2soKTsKIAkJCXJldHVybiAtMTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vcmFkZW9uX2Rpc3BsYXkuYwppbmRleCBiNzk2ODZjZjhiZGIuLjU4YTE0MjUxZjM0NSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGlzcGxheS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rpc3BsYXkuYwpAQCAtMTMyMSw3ICsxMzIx LDcgQEAgcmFkZW9uX3VzZXJfZnJhbWVidWZmZXJfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCiAKIAlvYmogPSBkcm1fZ2VtX29iamVjdF9sb29rdXAoZmlsZV9wcml2LCBtb2RlX2NtZC0+ aGFuZGxlc1swXSk7CiAJaWYgKG9iaiA9PSAgTlVMTCkgewotCQlkZXZfZXJyKCZkZXYtPnBkZXYt PmRldiwgIk5vIEdFTSBvYmplY3QgYXNzb2NpYXRlZCB0byBoYW5kbGUgMHglMDhYLCAiCisJCWRl dl9lcnIoZGV2LT5kZXYsICJObyBHRU0gb2JqZWN0IGFzc29jaWF0ZWQgdG8gaGFuZGxlIDB4JTA4 WCwgIgogCQkJImNhbid0IGNyZWF0ZSBmcmFtZWJ1ZmZlclxuIiwgbW9kZV9jbWQtPmhhbmRsZXNb MF0pOwogCQlyZXR1cm4gRVJSX1BUUigtRU5PRU5UKTsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2Rydi5jCmluZGV4IGJmYWRiNzk5ZDZhMy4uMWYzMGMzYTVmMmNiIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9kcnYuYwpAQCAtMzU0LDE0ICszNTQsMTMgQEAgc3RhdGljIGludCByYWRl b25fcGNpX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LAogCWlmIChyZXQpCiAJCWdvdG8gZXJy X2ZyZWU7CiAKLQlkZXYtPnBkZXYgPSBwZGV2OwogI2lmZGVmIF9fYWxwaGFfXwogCWRldi0+aG9z ZSA9IHBkZXYtPnN5c2RhdGE7CiAjZW5kaWYKIAogCXBjaV9zZXRfZHJ2ZGF0YShwZGV2LCBkZXYp OwogCi0JaWYgKHBjaV9maW5kX2NhcGFiaWxpdHkoZGV2LT5wZGV2LCBQQ0lfQ0FQX0lEX0FHUCkp CisJaWYgKHBjaV9maW5kX2NhcGFiaWxpdHkocGRldiwgUENJX0NBUF9JRF9BR1ApKQogCQlkZXYt PmFncCA9IGRybV9hZ3BfaW5pdChkZXYpOwogCWlmIChkZXYtPmFncCkgewogCQlkZXYtPmFncC0+ YWdwX210cnIgPSBhcmNoX3BoeXNfd2NfYWRkKApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb25fZmIuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2ZiLmMK aW5kZXggZmM0MjEyNjMzYmRmLi4wYjIwNmIwNTI5NzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX2ZiLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fZmIuYwpAQCAtMjkwLDcgKzI5MCw3IEBAIHN0YXRpYyBpbnQgcmFkZW9uZmJfY3JlYXRlKHN0 cnVjdCBkcm1fZmJfaGVscGVyICpoZWxwZXIsCiAJRFJNX0lORk8oImZiIGRlcHRoIGlzICVkXG4i LCBmYi0+Zm9ybWF0LT5kZXB0aCk7CiAJRFJNX0lORk8oIiAgIHBpdGNoIGlzICVkXG4iLCBmYi0+ cGl0Y2hlc1swXSk7CiAKLQl2Z2Ffc3dpdGNoZXJvb19jbGllbnRfZmJfc2V0KHJkZXYtPmRkZXYt PnBkZXYsIGluZm8pOworCXZnYV9zd2l0Y2hlcm9vX2NsaWVudF9mYl9zZXQocmRldi0+cGRldiwg aW5mbyk7CiAJcmV0dXJuIDA7CiAKIG91dDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vcmFkZW9uX2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZ2VtLmMK aW5kZXggZDI4NzZjZTNiYzllLi42OGU2ZjcwNmUzOWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX2dlbS5jCkBAIC02NTAsNyArNjUwLDcgQEAgaW50IHJhZGVvbl9nZW1fdmFfaW9jdGwoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAl9CiAKIAlpZiAoYXJncy0+b2Zmc2V0 IDwgUkFERU9OX1ZBX1JFU0VSVkVEX1NJWkUpIHsKLQkJZGV2X2VycigmZGV2LT5wZGV2LT5kZXYs CisJCWRldl9lcnIoZGV2LT5kZXYsCiAJCQkib2Zmc2V0IDB4JWxYIGlzIGluIHJlc2VydmVkIGFy ZWEgMHglWFxuIiwKIAkJCSh1bnNpZ25lZCBsb25nKWFyZ3MtPm9mZnNldCwKIAkJCVJBREVPTl9W QV9SRVNFUlZFRF9TSVpFKTsKQEAgLTY2NCw3ICs2NjQsNyBAQCBpbnQgcmFkZW9uX2dlbV92YV9p b2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCSAqLwogCWludmFsaWRf ZmxhZ3MgPSBSQURFT05fVk1fUEFHRV9WQUxJRCB8IFJBREVPTl9WTV9QQUdFX1NZU1RFTTsKIAlp ZiAoKGFyZ3MtPmZsYWdzICYgaW52YWxpZF9mbGFncykpIHsKLQkJZGV2X2VycigmZGV2LT5wZGV2 LT5kZXYsICJpbnZhbGlkIGZsYWdzIDB4JTA4WCB2cyAweCUwOFhcbiIsCisJCWRldl9lcnIoZGV2 LT5kZXYsICJpbnZhbGlkIGZsYWdzIDB4JTA4WCB2cyAweCUwOFhcbiIsCiAJCQlhcmdzLT5mbGFn cywgaW52YWxpZF9mbGFncyk7CiAJCWFyZ3MtPm9wZXJhdGlvbiA9IFJBREVPTl9WQV9SRVNVTFRf RVJST1I7CiAJCXJldHVybiAtRUlOVkFMOwpAQCAtNjc1LDcgKzY3NSw3IEBAIGludCByYWRlb25f Z2VtX3ZhX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJY2FzZSBS QURFT05fVkFfVU5NQVA6CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCWRldl9lcnIoJmRldi0+cGRl di0+ZGV2LCAidW5zdXBwb3J0ZWQgb3BlcmF0aW9uICVkXG4iLAorCQlkZXZfZXJyKGRldi0+ZGV2 LCAidW5zdXBwb3J0ZWQgb3BlcmF0aW9uICVkXG4iLAogCQkJYXJncy0+b3BlcmF0aW9uKTsKIAkJ YXJncy0+b3BlcmF0aW9uID0gUkFERU9OX1ZBX1JFU1VMVF9FUlJPUjsKIAkJcmV0dXJuIC1FSU5W QUw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9pMmMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2kyYy5jCmluZGV4IDU0NWUzMWU2Y2MzYS4uYjcw MThhY2YyMDE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9pMmMu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9pMmMuYwpAQCAtOTI3LDcgKzky Nyw3IEBAIHN0cnVjdCByYWRlb25faTJjX2NoYW4gKnJhZGVvbl9pMmNfY3JlYXRlKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCiAJaTJjLT5yZWMgPSAqcmVjOwogCWkyYy0+YWRhcHRlci5vd25lciA9 IFRISVNfTU9EVUxFOwogCWkyYy0+YWRhcHRlci5jbGFzcyA9IEkyQ19DTEFTU19EREM7Ci0JaTJj LT5hZGFwdGVyLmRldi5wYXJlbnQgPSAmZGV2LT5wZGV2LT5kZXY7CisJaTJjLT5hZGFwdGVyLmRl di5wYXJlbnQgPSBkZXYtPmRldjsKIAlpMmMtPmRldiA9IGRldjsKIAlpMmNfc2V0X2FkYXBkYXRh KCZpMmMtPmFkYXB0ZXIsIGkyYyk7CiAJbXV0ZXhfaW5pdCgmaTJjLT5tdXRleCk7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9pcnFfa21zLmMgYi9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbl9pcnFfa21zLmMKaW5kZXggYjg2YmM4OGFkNDMwLi4xYWVhY2M4 M2ViNzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2lycV9rbXMu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9pcnFfa21zLmMKQEAgLTMxNSw3 ICszMTUsNyBAQCBpbnQgcmFkZW9uX2lycV9rbXNfaW5pdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAq cmRldikKIAlJTklUX1dPUksoJnJkZXYtPmF1ZGlvX3dvcmssIHI2MDBfYXVkaW9fdXBkYXRlX2hk bWkpOwogCiAJcmRldi0+aXJxLmluc3RhbGxlZCA9IHRydWU7Ci0JciA9IGRybV9pcnFfaW5zdGFs bChyZGV2LT5kZGV2LCByZGV2LT5kZGV2LT5wZGV2LT5pcnEpOworCXIgPSBkcm1faXJxX2luc3Rh bGwocmRldi0+ZGRldiwgcmRldi0+cGRldi0+aXJxKTsKIAlpZiAocikgewogCQlyZGV2LT5pcnEu aW5zdGFsbGVkID0gZmFsc2U7CiAJCWZsdXNoX2RlbGF5ZWRfd29yaygmcmRldi0+aG90cGx1Z193 b3JrKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2ttcy5jIGIv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fa21zLmMKaW5kZXggYWJiM2JkZDljYTI1Li5l NTE2ODk1MjdmNGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2tt cy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2ttcy5jCkBAIC03NCw3ICs3 NCw3IEBAIHZvaWQgcmFkZW9uX2RyaXZlcl91bmxvYWRfa21zKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCiAJfQogCiAJcmFkZW9uX2FjcGlfZmluaShyZGV2KTsKLQkKKwogCXJhZGVvbl9tb2Rlc2V0 X2ZpbmkocmRldik7CiAJcmFkZW9uX2RldmljZV9maW5pKHJkZXYpOwogCkBAIC0xMDMsNiArMTAz LDcgQEAgdm9pZCByYWRlb25fZHJpdmVyX3VubG9hZF9rbXMoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKICAqLwogaW50IHJhZGVvbl9kcml2ZXJfbG9hZF9rbXMoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdW5zaWduZWQgbG9uZyBmbGFncykKIHsKKwlzdHJ1Y3QgcGNpX2RldiAqcGRldiA9IHRvX3Bj aV9kZXYoZGV2LT5kZXYpOwogCXN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2OwogCWludCByLCBh Y3BpX3N0YXR1czsKIApAQCAtMTEzLDkgKzExNCw5IEBAIGludCByYWRlb25fZHJpdmVyX2xvYWRf a21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCiAJZGV2LT5k ZXZfcHJpdmF0ZSA9ICh2b2lkICopcmRldjsKIAogCS8qIHVwZGF0ZSBCVVMgZmxhZyAqLwotCWlm IChwY2lfZmluZF9jYXBhYmlsaXR5KGRldi0+cGRldiwgUENJX0NBUF9JRF9BR1ApKSB7CisJaWYg KHBjaV9maW5kX2NhcGFiaWxpdHkocGRldiwgUENJX0NBUF9JRF9BR1ApKSB7CiAJCWZsYWdzIHw9 IFJBREVPTl9JU19BR1A7Ci0JfSBlbHNlIGlmIChwY2lfaXNfcGNpZShkZXYtPnBkZXYpKSB7CisJ fSBlbHNlIGlmIChwY2lfaXNfcGNpZShwZGV2KSkgewogCQlmbGFncyB8PSBSQURFT05fSVNfUENJ RTsKIAl9IGVsc2UgewogCQlmbGFncyB8PSBSQURFT05fSVNfUENJOwpAQCAtMTI0LDcgKzEyNSw3 IEBAIGludCByYWRlb25fZHJpdmVyX2xvYWRfa21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVu c2lnbmVkIGxvbmcgZmxhZ3MpCiAJaWYgKChyYWRlb25fcnVudGltZV9wbSAhPSAwKSAmJgogCSAg ICByYWRlb25faGFzX2F0cHgoKSAmJgogCSAgICAoKGZsYWdzICYgUkFERU9OX0lTX0lHUCkgPT0g MCkgJiYKLQkgICAgIXBjaV9pc190aHVuZGVyYm9sdF9hdHRhY2hlZChkZXYtPnBkZXYpKQorCSAg ICAhcGNpX2lzX3RodW5kZXJib2x0X2F0dGFjaGVkKHBkZXYpKQogCQlmbGFncyB8PSBSQURFT05f SVNfUFg7CiAKIAkvKiByYWRlb25fZGV2aWNlX2luaXQgc2hvdWxkIHJlcG9ydCBvbmx5IGZhdGFs IGVycm9yCkBAIC0xMzMsOSArMTM0LDkgQEAgaW50IHJhZGVvbl9kcml2ZXJfbG9hZF9rbXMoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgbG9uZyBmbGFncykKIAkgKiBwcm9wZXJseSBp bml0aWFsaXplIHRoZSBHUFUgTUMgY29udHJvbGxlciBhbmQgcGVybWl0CiAJICogVlJBTSBhbGxv Y2F0aW9uCiAJICovCi0JciA9IHJhZGVvbl9kZXZpY2VfaW5pdChyZGV2LCBkZXYsIGRldi0+cGRl diwgZmxhZ3MpOworCXIgPSByYWRlb25fZGV2aWNlX2luaXQocmRldiwgZGV2LCBwZGV2LCBmbGFn cyk7CiAJaWYgKHIpIHsKLQkJZGV2X2VycigmZGV2LT5wZGV2LT5kZXYsICJGYXRhbCBlcnJvciBk dXJpbmcgR1BVIGluaXRcbiIpOworCQlkZXZfZXJyKGRldi0+ZGV2LCAiRmF0YWwgZXJyb3IgZHVy aW5nIEdQVSBpbml0XG4iKTsKIAkJZ290byBvdXQ7CiAJfQogCkBAIC0xNDUsNyArMTQ2LDcgQEAg aW50IHJhZGVvbl9kcml2ZXJfbG9hZF9rbXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWdu ZWQgbG9uZyBmbGFncykKIAkgKi8KIAlyID0gcmFkZW9uX21vZGVzZXRfaW5pdChyZGV2KTsKIAlp ZiAocikKLQkJZGV2X2VycigmZGV2LT5wZGV2LT5kZXYsICJGYXRhbCBlcnJvciBkdXJpbmcgbW9k ZXNldCBpbml0XG4iKTsKKwkJZGV2X2VycihkZXYtPmRldiwgIkZhdGFsIGVycm9yIGR1cmluZyBt b2Rlc2V0IGluaXRcbiIpOwogCiAJLyogQ2FsbCBBQ1BJIG1ldGhvZHM6IHJlcXVpcmUgbW9kZXNl dCBpbml0CiAJICogYnV0IGZhaWx1cmUgaXMgbm90IGZhdGFsCkBAIC0xNTMsOCArMTU0LDcgQEAg aW50IHJhZGVvbl9kcml2ZXJfbG9hZF9rbXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWdu ZWQgbG9uZyBmbGFncykKIAlpZiAoIXIpIHsKIAkJYWNwaV9zdGF0dXMgPSByYWRlb25fYWNwaV9p bml0KHJkZXYpOwogCQlpZiAoYWNwaV9zdGF0dXMpCi0JCWRldl9kYmcoJmRldi0+cGRldi0+ZGV2 LAotCQkJCSJFcnJvciBkdXJpbmcgQUNQSSBtZXRob2RzIGNhbGxcbiIpOworCQlkZXZfZGJnKGRl di0+ZGV2LCAiRXJyb3IgZHVyaW5nIEFDUEkgbWV0aG9kcyBjYWxsXG4iKTsKIAl9CiAKIAlpZiAo cmFkZW9uX2lzX3B4KGRldikpIHsKQEAgLTIzNyw3ICsyMzcsNyBAQCBpbnQgcmFkZW9uX2luZm9f aW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxl ICpmaWxwKQogCiAJc3dpdGNoIChpbmZvLT5yZXF1ZXN0KSB7CiAJY2FzZSBSQURFT05fSU5GT19E RVZJQ0VfSUQ6Ci0JCSp2YWx1ZSA9IGRldi0+cGRldi0+ZGV2aWNlOworCQkqdmFsdWUgPSB0b19w Y2lfZGV2KGRldi0+ZGV2KS0+ZGV2aWNlOwogCQlicmVhazsKIAljYXNlIFJBREVPTl9JTkZPX05V TV9HQl9QSVBFUzoKIAkJKnZhbHVlID0gcmRldi0+bnVtX2diX3BpcGVzOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbGVnYWN5X2VuY29kZXJzLmMgYi9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9sZWdhY3lfZW5jb2RlcnMuYwppbmRleCA0NGQwNjBmNzUz MTguLjFlNTBjN2VjNjIyMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fbGVnYWN5X2VuY29kZXJzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25f bGVnYWN5X2VuY29kZXJzLmMKQEAgLTk3Myw5ICs5NzMsOSBAQCBzdGF0aWMgdm9pZCByYWRlb25f bGVnYWN5X3RtZHNfZXh0X21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAog CQkvKiBYWFg6IHRoZXNlIGFyZSBvZW0gc3BlY2lmaWMgKi8KIAkJaWYgKEFTSUNfSVNfUjMwMChy ZGV2KSkgewotCQkJaWYgKChkZXYtPnBkZXYtPmRldmljZSA9PSAweDQ4NTApICYmCi0JCQkgICAg KGRldi0+cGRldi0+c3Vic3lzdGVtX3ZlbmRvciA9PSAweDEwMjgpICYmCi0JCQkgICAgKGRldi0+ cGRldi0+c3Vic3lzdGVtX2RldmljZSA9PSAweDIwMDEpKSAvKiBEZWxsIEluc3Bpcm9uIDg2MDAg Ki8KKwkJCWlmICgocmRldi0+cGRldi0+ZGV2aWNlID09IDB4NDg1MCkgJiYKKwkJCSAgICAocmRl di0+cGRldi0+c3Vic3lzdGVtX3ZlbmRvciA9PSAweDEwMjgpICYmCisJCQkgICAgKHJkZXYtPnBk ZXYtPnN1YnN5c3RlbV9kZXZpY2UgPT0gMHgyMDAxKSkgLyogRGVsbCBJbnNwaXJvbiA4NjAwICov CiAJCQkJZnAyX2dlbl9jbnRsIHw9IFIzMDBfRlAyX0RWT19DTE9DS19NT0RFX1NJTkdMRTsKIAkJ CWVsc2UKIAkJCQlmcDJfZ2VuX2NudGwgfD0gUkFERU9OX0ZQMl9QQURfRkxPUF9FTiB8IFIzMDBf RlAyX0RWT19DTE9DS19NT0RFX1NJTkdMRTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vcnM3ODBfZHBtLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JzNzgwX2RwbS5jCmlu ZGV4IDE3MzkwMDc0Mjc3YS4uMjRhZDEyNDA5MTIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JzNzgwX2RwbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnM3ODBf ZHBtLmMKQEAgLTIyMywxNiArMjIzLDE1IEBAIHN0YXRpYyB2b2lkIHJzNzgwX3ByZXNldF9zdGFy dGluZ19mYmRpdihzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKIHN0YXRpYyB2b2lkIHJzNzgw X3ZvbHRhZ2Vfc2NhbGluZ19pbml0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogewogCXN0 cnVjdCBpZ3BfcG93ZXJfaW5mbyAqcGkgPSByczc4MF9nZXRfcGkocmRldik7Ci0Jc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IHJkZXYtPmRkZXY7CiAJdTMyIGZ2X3Rocm90X3B3bV9mYl9kaXZfcmFu Z2VbM107CiAJdTMyIGZ2X3Rocm90X3B3bV9yYW5nZVs0XTsKIAotCWlmIChkZXYtPnBkZXYtPmRl dmljZSA9PSAweDk2MTQpIHsKKwlpZiAocmRldi0+cGRldi0+ZGV2aWNlID09IDB4OTYxNCkgewog CQlmdl90aHJvdF9wd21fZmJfZGl2X3JhbmdlWzBdID0gUlM3ODBEX0ZWVEhST1RQV01GQkRJVlJB TkdFUkVHMF9ERkxUOwogCQlmdl90aHJvdF9wd21fZmJfZGl2X3JhbmdlWzFdID0gUlM3ODBEX0ZW VEhST1RQV01GQkRJVlJBTkdFUkVHMV9ERkxUOwogCQlmdl90aHJvdF9wd21fZmJfZGl2X3Jhbmdl WzJdID0gUlM3ODBEX0ZWVEhST1RQV01GQkRJVlJBTkdFUkVHMl9ERkxUOwotCX0gZWxzZSBpZiAo KGRldi0+cGRldi0+ZGV2aWNlID09IDB4OTcxNCkgfHwKLQkJICAgKGRldi0+cGRldi0+ZGV2aWNl ID09IDB4OTcxNSkpIHsKKwl9IGVsc2UgaWYgKChyZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg5NzE0 KSB8fAorCQkgICAocmRldi0+cGRldi0+ZGV2aWNlID09IDB4OTcxNSkpIHsKIAkJZnZfdGhyb3Rf cHdtX2ZiX2Rpdl9yYW5nZVswXSA9IFJTODgwRF9GVlRIUk9UUFdNRkJESVZSQU5HRVJFRzBfREZM VDsKIAkJZnZfdGhyb3RfcHdtX2ZiX2Rpdl9yYW5nZVsxXSA9IFJTODgwRF9GVlRIUk9UUFdNRkJE SVZSQU5HRVJFRzFfREZMVDsKIAkJZnZfdGhyb3RfcHdtX2ZiX2Rpdl9yYW5nZVsyXSA9IFJTODgw RF9GVlRIUk9UUFdNRkJESVZSQU5HRVJFRzJfREZMVDsKLS0gCjIuMjkuMgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==