From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH v2 13/23] drm/i915: Fix the TypeC port mode sanitization during loading/resume Date: Thu, 20 Jun 2019 17:05:50 +0300 Message-ID: <20190620140600.11357-14-imre.deak@intel.com> References: <20190620140600.11357-1-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5366D6E594 for ; Thu, 20 Jun 2019 14:06:28 +0000 (UTC) In-Reply-To: <20190620140600.11357-1-imre.deak@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 Cc: Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org Rm9yIHVzaW5nIHRoZSBjb3JyZWN0IEFVWCBwb3dlciBkb21haW5zIHdlIGhhdmUgdG8gc2FuaXRp emUgdGhlIFR5cGVDCnBvcnQgbW9kZSBlYXJseSwgc28gbW92ZSB0aGF0IGJlZm9yZSBlbmNvZGVy IHNhbml0aXphdGlvbi4gVG8gZG8gdGhpcwpwcm9wZXJseSByZWFkIG91dCB0aGUgYWN0dWFsIHBv cnQgbW9kZSBpbnN0ZWFkIG9mIGp1c3QgcmVseWluZyBvbiB0aGUKVkJUIGxlZ2FjeSBwb3J0IGZs YWcgKHdoaWNoIGNhbiBiZSBpbmNvcnJlY3QpLgoKV2UgYWxzbyB2ZXJpZnkgdGhhdCB0aGUgUEhZ IGlzIGNvbm5lY3RlZCBhcyBleHBlY3RlZCBpZiB0aGUgcG9ydCBpcwphY3RpdmUuIEluIGNhc2Ug dGhlIHBvcnQgaXMgaW5hY3RpdmUgd2UgY29ubmVjdCB0aGUgUEhZIGluIGNhc2Ugb2YgYQpsZWdh Y3kgcG9ydCAtIGFzIHdlIGRpZCBzbyBmYXIuIFRoZSBQSFkgd2lsbCBiZSBjb25uZWN0ZWQgZHVy aW5nCmRldGVjdGlvbiBmb3IgRFAtYWx0IG1vZGUgLSBhcyBpdCB3YXMgZG9uZSBzbyBmYXIuIEZv ciBUQlQtYWx0IG1vZGUKbm90aGluZyBuZWVkcyB0byBiZSBkb25lIHRvIGNvbm5lY3QgdGhlIFBI WS4KCnYyOgotIFVzZSBEUk1fREVCVUdfS01TIGluc3RlYWQgb2YgRFJNX0RFQlVHX0RSSVZFUi4g KEpvc8OpKQoKQ2M6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29t PgpDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgpDYzogUGF1bG8gWmFu b25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+CkNjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxl LnN5cmphbGFAbGludXguaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUu ZGVha0BpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3Nl LnNvdXphQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2RkaS5jICAgICB8IDE2ICstLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGlzcGxheS5jIHwgMTAgKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rw X21zdC5oICB8ICA4ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmMg ICAgICB8IDc3ICsrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX3RjLmggICAgICB8ICAyICsKIDUgZmlsZXMgY2hhbmdlZCwgOTcgaW5zZXJ0aW9u cygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGRpLmMKaW5kZXggMmJlN2NkYzMxOWJhLi4wYzViZmJkNjZiMTkgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYwpAQCAtMzkzMSwxNyArMzkzMSw2IEBAIHN0YXRpYyB2 b2lkIGludGVsX2RkaV9lbmNvZGVyX3N1c3BlbmQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIpCiAJCWljbF90Y19waHlfZGlzY29ubmVjdChkaWdfcG9ydCk7CiB9CiAKLXN0YXRpYyB2b2lk IGludGVsX2RkaV9lbmNvZGVyX3Jlc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuY29kZXIp Ci17Ci0Jc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3Bv cnQoZHJtX2VuY29kZXIpOwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkx NShkcm1fZW5jb2Rlci0+ZGV2KTsKLQotCWlmIChpbnRlbF9wb3J0X2lzX3RjKGk5MTUsIGRpZ19w b3J0LT5iYXNlLnBvcnQpKQotCQlpbnRlbF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKCZkaWdfcG9y dC0+YmFzZSk7Ci0KLQlpbnRlbF9kcF9lbmNvZGVyX3Jlc2V0KGRybV9lbmNvZGVyKTsKLX0KLQog c3RhdGljIHZvaWQgaW50ZWxfZGRpX2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJtX2VuY29kZXIg KmVuY29kZXIpCiB7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBlbmNf dG9fZGlnX3BvcnQoZW5jb2Rlcik7CkBAIC0zOTU3LDcgKzM5NDYsNyBAQCBzdGF0aWMgdm9pZCBp bnRlbF9kZGlfZW5jb2Rlcl9kZXN0cm95KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIH0K IAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZW5jb2Rlcl9mdW5jcyBpbnRlbF9kZGlfZnVuY3Mg PSB7Ci0JLnJlc2V0ID0gaW50ZWxfZGRpX2VuY29kZXJfcmVzZXQsCisJLnJlc2V0ID0gaW50ZWxf ZHBfZW5jb2Rlcl9yZXNldCwKIAkuZGVzdHJveSA9IGludGVsX2RkaV9lbmNvZGVyX2Rlc3Ryb3ks CiB9OwogCkBAIC00MzI4LDkgKzQzMTcsNiBAQCB2b2lkIGludGVsX2RkaV9pbml0KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0IHBvcnQpCiAKIAlpbnRlbF9pbmZv ZnJhbWVfaW5pdChpbnRlbF9kaWdfcG9ydCk7CiAKLQlpZiAoaW50ZWxfcG9ydF9pc190YyhkZXZf cHJpdiwgcG9ydCkpCi0JCWludGVsX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoaW50ZWxfZW5jb2Rl cik7Ci0KIAlyZXR1cm47CiAKIGVycjoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kaXNwbGF5LmMKaW5kZXggZDkyZjUzM2EyY2MyLi40NjhjYTZkODRiZDggMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCkBAIC03OCw2ICs3OCw3 IEBACiAjaW5jbHVkZSAiaW50ZWxfcXVpcmtzLmgiCiAjaW5jbHVkZSAiaW50ZWxfc2lkZWJhbmQu aCIKICNpbmNsdWRlICJpbnRlbF9zcHJpdGUuaCIKKyNpbmNsdWRlICJpbnRlbF90Yy5oIgogCiAv KiBQcmltYXJ5IHBsYW5lIGZvcm1hdHMgZm9yIGdlbiA8PSAzICovCiBzdGF0aWMgY29uc3QgdTMy IGk4eHhfcHJpbWFyeV9mb3JtYXRzW10gPSB7CkBAIC0xNjc3MCw2ICsxNjc3MSwxNSBAQCBpbnRl bF9tb2Rlc2V0X3NldHVwX2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJaW50ZWxf bW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlKGRldik7CiAKIAkvKiBIVyBzdGF0ZSBpcyByZWFkIG91 dCwgbm93IHdlIG5lZWQgdG8gc2FuaXRpemUgdGhpcyBtZXNzLiAqLworCisJLyogU2FuaXRpemUg dGhlIFR5cGVDIHBvcnQgbW9kZSB1cGZyb250LCBlbmNvZGVycyBkZXBlbmQgb24gdGhpcyAqLwor CWZvcl9lYWNoX2ludGVsX2VuY29kZXIoZGV2LCBlbmNvZGVyKSB7CisJCS8qIFdlIG5lZWQgdG8g c2FuaXRpemUgb25seSB0aGUgTVNUIHByaW1hcnkgcG9ydC4gKi8KKwkJaWYgKGVuY29kZXItPnR5 cGUgIT0gSU5URUxfT1VUUFVUX0RQX01TVCAmJgorCQkgICAgaW50ZWxfcG9ydF9pc190YyhkZXZf cHJpdiwgZW5jb2Rlci0+cG9ydCkpCisJCQlpbnRlbF90Y19wb3J0X3Nhbml0aXplKGVuY190b19k aWdfcG9ydCgmZW5jb2Rlci0+YmFzZSkpOworCX0KKwogCWdldF9lbmNvZGVyX3Bvd2VyX2RvbWFp bnMoZGV2X3ByaXYpOwogCiAJaWYgKEhBU19QQ0hfSUJYKGRldl9wcml2KSkKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBfbXN0LmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX21zdC5oCmluZGV4IDE0NzBjNmUwNTE0Yi4uNjc1 NGMyMTEyMDVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2RwX21zdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBfbXN0 LmgKQEAgLTYsOSArNiwxNSBAQAogI2lmbmRlZiBfX0lOVEVMX0RQX01TVF9IX18KICNkZWZpbmUg X19JTlRFTF9EUF9NU1RfSF9fCiAKLXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQ7CisjaW5jbHVk ZSAiaW50ZWxfZHJ2LmgiCiAKIGludCBpbnRlbF9kcF9tc3RfZW5jb2Rlcl9pbml0KHN0cnVjdCBp bnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LCBpbnQgY29ubl9pZCk7CiB2b2lkIGlu dGVsX2RwX21zdF9lbmNvZGVyX2NsZWFudXAoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50 ZWxfZGlnX3BvcnQpOworc3RhdGljIGlubGluZSBpbnQKK2ludGVsX2RwX21zdF9lbmNvZGVyX2Fj dGl2ZV9saW5rcyhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCkKK3sK KwlyZXR1cm4gaW50ZWxfZGlnX3BvcnQtPmRwLmFjdGl2ZV9tc3RfbGlua3M7Cit9CisKIAogI2Vu ZGlmIC8qIF9fSU5URUxfRFBfTVNUX0hfXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF90Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF90Yy5jCmluZGV4IGVkMjI1M2IyMWIwOS4uODFiMGQ1Njc2MTA4IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90Yy5jCkBAIC00LDYgKzQsNyBAQAogICovCiAKICNpbmNs dWRlICJpbnRlbF9kaXNwbGF5LmgiCisjaW5jbHVkZSAiaW50ZWxfZHBfbXN0LmgiCiAjaW5jbHVk ZSAiaTkxNV9kcnYuaCIKICNpbmNsdWRlICJpbnRlbF90Yy5oIgogCkBAIC0xNTEsNiArMTUyLDE1 IEBAIHN0YXRpYyBib29sIGljbF90Y19waHlfc2V0X3NhZmVfbW9kZShzdHJ1Y3QgaW50ZWxfZGln aXRhbF9wb3J0ICpkaWdfcG9ydCwKIAlyZXR1cm4gdHJ1ZTsKIH0KIAorc3RhdGljIGJvb2wgaWNs X3RjX3BoeV9pc19pbl9zYWZlX21vZGUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3Bv cnQpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkaWdf cG9ydC0+YmFzZS5iYXNlLmRldik7CisJZW51bSB0Y19wb3J0IHRjX3BvcnQgPSBpbnRlbF9wb3J0 X3RvX3RjKGRldl9wcml2LCBkaWdfcG9ydC0+YmFzZS5wb3J0KTsKKworCXJldHVybiAhKEk5MTVf UkVBRChQT1JUX1RYX0RGTEVYRFBDU1NTKSAmCisJCSBEUF9QSFlfTU9ERV9TVEFUVVNfTk9UX1NB RkUodGNfcG9ydCkpOworfQorCiAvKgogICogVGhpcyBmdW5jdGlvbiBpbXBsZW1lbnRzIHRoZSBm aXJzdCBwYXJ0IG9mIHRoZSBDb25uZWN0IEZsb3cgZGVzY3JpYmVkIGJ5IG91cgogICogc3BlY2lm aWNhdGlvbiwgR2VuMTEgVHlwZUMgUHJvZ3JhbW1pbmcgY2hhcHRlci4gVGhlIHJlc3Qgb2YgdGhl IGZsb3cgKHJlYWRpbmcKQEAgLTIzMSw2ICsyNDEsNDYgQEAgdm9pZCBpY2xfdGNfcGh5X2Rpc2Nv bm5lY3Qoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCiAJfQogfQogCitzdGF0 aWMgYm9vbCBpY2xfdGNfcGh5X2lzX2Nvbm5lY3RlZChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICpkaWdfcG9ydCkKK3sKKwlpZiAoIWljbF90Y19waHlfc3RhdHVzX2NvbXBsZXRlKGRpZ19wb3J0 KSkgeworCQlEUk1fREVCVUdfS01TKCJQb3J0ICVzOiBQSFkgc3RhdHVzIG5vdCBjb21wbGV0ZVxu IiwKKwkJCSAgICAgIGRpZ19wb3J0LT50Y19wb3J0X25hbWUpOworCQlyZXR1cm4gZGlnX3BvcnQt PnRjX21vZGUgPT0gVENfUE9SVF9UQlRfQUxUOworCX0KKworCWlmIChpY2xfdGNfcGh5X2lzX2lu X3NhZmVfbW9kZShkaWdfcG9ydCkpIHsKKwkJRFJNX0RFQlVHX0tNUygiUG9ydCAlczogUEhZIHN0 aWxsIGluIHNhZmUgbW9kZVxuIiwKKwkJCSAgICAgIGRpZ19wb3J0LT50Y19wb3J0X25hbWUpOwor CisJCXJldHVybiBmYWxzZTsKKwl9CisKKwlyZXR1cm4gZGlnX3BvcnQtPnRjX21vZGUgPT0gVENf UE9SVF9EUF9BTFQgfHwKKwkgICAgICAgZGlnX3BvcnQtPnRjX21vZGUgPT0gVENfUE9SVF9MRUdB Q1k7Cit9CisKK3N0YXRpYyBlbnVtIHRjX3BvcnRfbW9kZQoraW50ZWxfdGNfcG9ydF9nZXRfY3Vy cmVudF9tb2RlKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQoreworCXUzMiBs aXZlX3N0YXR1c19tYXNrID0gdGNfcG9ydF9saXZlX3N0YXR1c19tYXNrKGRpZ19wb3J0KTsKKwli b29sIGluX3NhZmVfbW9kZSA9IGljbF90Y19waHlfaXNfaW5fc2FmZV9tb2RlKGRpZ19wb3J0KTsK KwllbnVtIHRjX3BvcnRfbW9kZSBtb2RlOworCisJaWYgKGluX3NhZmVfbW9kZSB8fCBXQVJOX09O KCFpY2xfdGNfcGh5X3N0YXR1c19jb21wbGV0ZShkaWdfcG9ydCkpKQorCQlyZXR1cm4gVENfUE9S VF9UQlRfQUxUOworCisJbW9kZSA9IGRpZ19wb3J0LT50Y19sZWdhY3lfcG9ydCA/IFRDX1BPUlRf TEVHQUNZIDogVENfUE9SVF9EUF9BTFQ7CisJaWYgKGxpdmVfc3RhdHVzX21hc2spIHsKKwkJZW51 bSB0Y19wb3J0X21vZGUgbGl2ZV9tb2RlID0gZmxzKGxpdmVfc3RhdHVzX21hc2spIC0gMTsKKwor CQlpZiAoIVdBUk5fT04obGl2ZV9tb2RlID09IFRDX1BPUlRfVEJUX0FMVCkpCisJCQltb2RlID0g bGl2ZV9tb2RlOworCX0KKworCXJldHVybiBtb2RlOworfQorCiBzdGF0aWMgZW51bSB0Y19wb3J0 X21vZGUKIGludGVsX3RjX3BvcnRfZ2V0X3RhcmdldF9tb2RlKHN0cnVjdCBpbnRlbF9kaWdpdGFs X3BvcnQgKmRpZ19wb3J0KQogewpAQCAtMjU3LDYgKzMwNywzMyBAQCBzdGF0aWMgdm9pZCBpbnRl bF90Y19wb3J0X3Jlc2V0X21vZGUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQp CiAJCSAgICAgIHRjX3BvcnRfbW9kZV9uYW1lKGRpZ19wb3J0LT50Y19tb2RlKSk7CiB9CiAKK3Zv aWQgaW50ZWxfdGNfcG9ydF9zYW5pdGl6ZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdf cG9ydCkKK3sKKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9ICZkaWdfcG9ydC0+YmFz ZTsKKwlpbnQgYWN0aXZlX2xpbmtzID0gMDsKKworCWRpZ19wb3J0LT50Y19tb2RlID0gaW50ZWxf dGNfcG9ydF9nZXRfY3VycmVudF9tb2RlKGRpZ19wb3J0KTsKKwlpZiAoZGlnX3BvcnQtPmRwLmlz X21zdCkKKwkJYWN0aXZlX2xpbmtzID0gaW50ZWxfZHBfbXN0X2VuY29kZXJfYWN0aXZlX2xpbmtz KGRpZ19wb3J0KTsKKwllbHNlIGlmIChlbmNvZGVyLT5iYXNlLmNydGMpCisJCWFjdGl2ZV9saW5r cyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+YmFzZS5jcnRjKS0+YWN0aXZlOworCisJaWYgKGFj dGl2ZV9saW5rcykgeworCQlpZiAoIWljbF90Y19waHlfaXNfY29ubmVjdGVkKGRpZ19wb3J0KSkK KwkJCURSTV9ERUJVR19LTVMoIlBvcnQgJXM6IFBIWSBkaXNjb25uZWN0ZWQgd2l0aCAlZCBhY3Rp dmUgbGluayhzKVxuIiwKKwkJCQkgICAgICBkaWdfcG9ydC0+dGNfcG9ydF9uYW1lLCBhY3RpdmVf bGlua3MpOworCQlnb3RvIG91dDsKKwl9CisKKwlpZiAoZGlnX3BvcnQtPnRjX2xlZ2FjeV9wb3J0 KQorCQlpY2xfdGNfcGh5X2Nvbm5lY3QoZGlnX3BvcnQpOworCitvdXQ6CisJRFJNX0RFQlVHX0tN UygiUG9ydCAlczogc2FuaXRpemUgbW9kZSAoJXMpXG4iLAorCQkgICAgICBkaWdfcG9ydC0+dGNf cG9ydF9uYW1lLAorCQkgICAgICB0Y19wb3J0X21vZGVfbmFtZShkaWdfcG9ydC0+dGNfbW9kZSkp OworfQorCiBzdGF0aWMgYm9vbCBpbnRlbF90Y19wb3J0X25lZWRzX3Jlc2V0KHN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQogewogCXJldHVybiBpbnRlbF90Y19wb3J0X2dldF90 YXJnZXRfbW9kZShkaWdfcG9ydCkgIT0gZGlnX3BvcnQtPnRjX21vZGU7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX3RjLmgKaW5kZXggOGMzMzhjNDU3OTZkLi41YTc4NzZhNzQ1MjIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdGMuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmgKQEAgLTE2LDYgKzE2LDgg QEAgYm9vbCBpbnRlbF90Y19wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICpkaWdfcG9ydCk7CiB1MzIgaW50ZWxfdGNfcG9ydF9nZXRfbGFuZV9tYXNrKHN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KTsKIGludCBpbnRlbF90Y19wb3J0X2ZpYV9tYXhfbGFu ZV9jb3VudChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCk7CiAKK3ZvaWQgaW50 ZWxfdGNfcG9ydF9zYW5pdGl6ZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCk7 CisKIHZvaWQgaW50ZWxfdGNfcG9ydF9pbml0KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRp Z19wb3J0LCBib29sIGlzX2xlZ2FjeSk7CiAKICNlbmRpZiAvKiBfX0lOVEVMX1RDX0hfXyAqLwot LSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=