From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Subject: [PATCH 1/2] drm/i915: Add support for retrying hotplug Date: Fri, 22 Feb 2019 13:08:33 -0800 Message-ID: <20190222210834.17580-1-jose.souza@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id AD66B8987C for ; Fri, 22 Feb 2019 21:08:47 +0000 (UTC) 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: Jani Nikula List-Id: intel-gfx@lists.freedesktop.org RnJvbTogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgoKVGhlcmUgaXMgc29tZSBzY2Vu YXJpb3MgdGhhdCB3ZSBhcmUgYXdhcmUgdGhhdCBzaW5rIHByb2JlIGNhbiBmYWlsLApzbyBsZXRz IGFkZCB0aGUgaW5mcmFzdHJ1Y3R1cmUgdG8gbGV0IGhvdHBsdWcoKSBob29rIHRvIHJlcXVlc3QK YW5vdGhlciBwcm9iZSBhZnRlciBzb21lIHRpbWUuCgpDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogSm9zw6kgUm9iZXJ0byBk ZSBTb3V6YSA8am9zZS5zb3V6YUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEphbmkgTmlrdWxh IDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEltcmUgRGVhayA8aW1yZS5k ZWFrQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAg fCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgIHwgIDMgKy0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jICAgICB8IDEyICsrKy0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAgIHwgMTIgKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaCAgICAgfCAxNyArKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2hvdHBsdWcuYyB8IDU2ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYyAgICB8ICA4ICsrLS0KIDcgZmlsZXMgY2hhbmdl ZCwgNzkgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2RlYnVnZnMuYwppbmRleCAzNzE3NTQxNGNlODkuLjgxNDliZTYyYTYzMCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAgLTQyOTYsNyArNDI5Niw3IEBAIHN0YXRpYyBpbnQgaTkx NV9ocGRfc3Rvcm1fY3RsX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQogCSAq LwogCXN5bmNocm9uaXplX2lycShkZXZfcHJpdi0+ZHJtLmlycSk7CiAJZmx1c2hfd29yaygmZGV2 X3ByaXYtPmhvdHBsdWcuZGlnX3BvcnRfd29yayk7Ci0JZmx1c2hfd29yaygmZGV2X3ByaXYtPmhv dHBsdWcuaG90cGx1Z193b3JrKTsKKwlmbHVzaF9kZWxheWVkX3dvcmsoJmRldl9wcml2LT5ob3Rw bHVnLmhvdHBsdWdfd29yayk7CiAKIAlzZXFfcHJpbnRmKG0sICJUaHJlc2hvbGQ6ICVkXG4iLCBo b3RwbHVnLT5ocGRfc3Rvcm1fdGhyZXNob2xkKTsKIAlzZXFfcHJpbnRmKG0sICJEZXRlY3RlZDog JXNcbiIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCBiYjBlNzVlNDM5ODcuLjU3MDM1MjZi ZGRhYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0xNTYsNyArMTU2LDcgQEAgZW51bSBo cGRfcGluIHsKICNkZWZpbmUgSFBEX1NUT1JNX0RFRkFVTFRfVEhSRVNIT0xEIDUwCiAKIHN0cnVj dCBpOTE1X2hvdHBsdWcgewotCXN0cnVjdCB3b3JrX3N0cnVjdCBob3RwbHVnX3dvcms7CisJc3Ry dWN0IGRlbGF5ZWRfd29yayBob3RwbHVnX3dvcms7CiAKIAlzdHJ1Y3QgewogCQl1bnNpZ25lZCBs b25nIGxhc3RfamlmZmllczsKQEAgLTE2OCw2ICsxNjgsNyBAQCBzdHJ1Y3QgaTkxNV9ob3RwbHVn IHsKIAkJfSBzdGF0ZTsKIAl9IHN0YXRzW0hQRF9OVU1fUElOU107CiAJdTMyIGV2ZW50X2JpdHM7 CisJdTMyIHJldHJ5X2JpdHM7CiAJc3RydWN0IGRlbGF5ZWRfd29yayByZWVuYWJsZV93b3JrOwog CiAJdTMyIGxvbmdfcG9ydF9tYXNrOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwppbmRleCBlYTgz MDcxYTIyYzQuLjE2NzZhODdmMThjYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGRpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKQEAgLTQw NTEsMTQgKzQwNTEsMTYgQEAgc3RhdGljIGludCBpbnRlbF9oZG1pX3Jlc2V0X2xpbmsoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJcmV0dXJuIG1vZGVzZXRfcGlwZSgmY3J0Yy0+YmFz ZSwgY3R4KTsKIH0KIAotc3RhdGljIGJvb2wgaW50ZWxfZGRpX2hvdHBsdWcoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCi0JCQkgICAgICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IpCitzdGF0aWMgZW51bSBpbnRlbF9ob3RwbHVnX3N0YXRlCitpbnRlbF9kZGlfaG90cGx1 ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJICBzdHJ1Y3QgaW50ZWxfY29ubmVj dG9yICpjb25uZWN0b3IsCisJCSAgYm9vbCBpcnFfcmVjZWl2ZWQpCiB7CiAJc3RydWN0IGRybV9t b2Rlc2V0X2FjcXVpcmVfY3R4IGN0eDsKLQlib29sIGNoYW5nZWQ7CisJZW51bSBpbnRlbF9ob3Rw bHVnX3N0YXRlIHN0YXRlOwogCWludCByZXQ7CiAKLQljaGFuZ2VkID0gaW50ZWxfZW5jb2Rlcl9o b3RwbHVnKGVuY29kZXIsIGNvbm5lY3Rvcik7CisJc3RhdGUgPSBpbnRlbF9lbmNvZGVyX2hvdHBs dWcoZW5jb2RlciwgY29ubmVjdG9yLCBpcnFfcmVjZWl2ZWQpOwogCiAJZHJtX21vZGVzZXRfYWNx dWlyZV9pbml0KCZjdHgsIDApOwogCkBAIC00MDgwLDcgKzQwODIsNyBAQCBzdGF0aWMgYm9vbCBp bnRlbF9kZGlfaG90cGx1ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlkcm1fbW9k ZXNldF9hY3F1aXJlX2ZpbmkoJmN0eCk7CiAJV0FSTihyZXQsICJBY3F1aXJpbmcgbW9kZXNldCBs b2NrcyBmYWlsZWQgd2l0aCAlaVxuIiwgcmV0KTsKIAotCXJldHVybiBjaGFuZ2VkOworCXJldHVy biBzdGF0ZTsKIH0KIAogc3RhdGljIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwLmMKaW5kZXggZTFhMDUxYzBmYmZlLi4wYmI0M2VhYTE1NGMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYwpAQCAtNDczNCwxNCArNDczNCwxNiBAQCBpbnQgaW50ZWxfZHBfcmV0cmFp bl9saW5rKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogICogcmV0cmFpbiB0aGUgbGlu ayB0byBnZXQgYSBwaWN0dXJlLiBUaGF0J3MgaW4gY2FzZSBubwogICogdXNlcnNwYWNlIGNvbXBv bmVudCByZWFjdGVkIHRvIGludGVybWl0dGVudCBIUEQgZGlwLgogICovCi1zdGF0aWMgYm9vbCBp bnRlbF9kcF9ob3RwbHVnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAotCQkJICAgICBz dHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCitzdGF0aWMgZW51bSBpbnRlbF9ob3Rw bHVnX3N0YXRlCitpbnRlbF9kcF9ob3RwbHVnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAorCQkgc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAorCQkgYm9vbCBpcnFfcmVj ZWl2ZWQpCiB7CiAJc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4IGN0eDsKLQlib29sIGNo YW5nZWQ7CisJZW51bSBpbnRlbF9ob3RwbHVnX3N0YXRlIHN0YXRlOwogCWludCByZXQ7CiAKLQlj aGFuZ2VkID0gaW50ZWxfZW5jb2Rlcl9ob3RwbHVnKGVuY29kZXIsIGNvbm5lY3Rvcik7CisJc3Rh dGUgPSBpbnRlbF9lbmNvZGVyX2hvdHBsdWcoZW5jb2RlciwgY29ubmVjdG9yLCBpcnFfcmVjZWl2 ZWQpOwogCiAJZHJtX21vZGVzZXRfYWNxdWlyZV9pbml0KCZjdHgsIDApOwogCkBAIC00NzYwLDcg KzQ3NjIsNyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kcF9ob3RwbHVnKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAogCWRybV9tb2Rlc2V0X2FjcXVpcmVfZmluaSgmY3R4KTsKIAlXQVJOKHJl dCwgIkFjcXVpcmluZyBtb2Rlc2V0IGxvY2tzIGZhaWxlZCB3aXRoICVpXG4iLCByZXQpOwogCi0J cmV0dXJuIGNoYW5nZWQ7CisJcmV0dXJuIHN0YXRlOwogfQogCiBzdGF0aWMgdm9pZCBpbnRlbF9k cF9jaGVja19zZXJ2aWNlX2lycShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAppbmRleCA4MWVjNzNlNGEwODMuLmRlNjJhZjk3MGRjMSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTIyNiwxNCArMjI2LDIxIEBAIHN0cnVjdCBpbnRlbF9mYmRl diB7CiAJc3RydWN0IG11dGV4IGhwZF9sb2NrOwogfTsKIAorZW51bSBpbnRlbF9ob3RwbHVnX3N0 YXRlIHsKKwlJTlRFTF9IT1RQTFVHX05PQ0hBTkdFLAorCUlOVEVMX0hPVFBMVUdfQ0hBTkdFRCwK KwlJTlRFTF9IT1RQTFVHX1JFVFJZLAorfTsKKwogc3RydWN0IGludGVsX2VuY29kZXIgewogCXN0 cnVjdCBkcm1fZW5jb2RlciBiYXNlOwogCiAJZW51bSBpbnRlbF9vdXRwdXRfdHlwZSB0eXBlOwog CWVudW0gcG9ydCBwb3J0OwogCXVuc2lnbmVkIGludCBjbG9uZWFibGU7Ci0JYm9vbCAoKmhvdHBs dWcpKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAotCQkJc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqY29ubmVjdG9yKTsKKwllbnVtIGludGVsX2hvdHBsdWdfc3RhdGUgKCpob3RwbHVnKShz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJCQkJICAgIHN0cnVjdCBpbnRlbF9jb25u ZWN0b3IgKmNvbm5lY3RvciwKKwkJCQkJICAgIGJvb2wgaXJxX3JlY2VpdmVkKTsKIAllbnVtIGlu dGVsX291dHB1dF90eXBlICgqY29tcHV0ZV9vdXRwdXRfdHlwZSkoc3RydWN0IGludGVsX2VuY29k ZXIgKiwKIAkJCQkJCSAgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICosCiAJCQkJCQkgICAg ICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqKTsKQEAgLTIwMDMsOCArMjAxMCwxMCBAQCBp bnQgaW50ZWxfZHNpX2Rjc19pbml0X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxfY29ubmVj dG9yICppbnRlbF9jb25uZWN0b3IpOwogdm9pZCBpbnRlbF9kdm9faW5pdChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogLyogaW50ZWxfaG90cGx1Zy5jICovCiB2b2lkIGludGVs X2hwZF9wb2xsX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKLWJvb2wg aW50ZWxfZW5jb2Rlcl9ob3RwbHVnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAotCQkJ ICAgc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKK2VudW0gaW50ZWxfaG90cGx1 Z19zdGF0ZQoraW50ZWxfZW5jb2Rlcl9ob3RwbHVnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAorCQkgICAgICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCisJCSAgICAg IGJvb2wgaXJxX3JlY2VpdmVkKTsKIAogLyogbGVnYWN5IGZiZGV2IGVtdWxhdGlvbiBpbiBpbnRl bF9mYmRldi5jICovCiAjaWZkZWYgQ09ORklHX0RSTV9GQkRFVl9FTVVMQVRJT04KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hvdHBsdWcuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2hvdHBsdWcuYwppbmRleCBiODkzN2M3ODhmMDMuLjNlYWEwNjUyNmY2YiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaG90cGx1Zy5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hvdHBsdWcuYwpAQCAtMTExLDYgKzExMSw3IEBAIGVu dW0gaHBkX3BpbiBpbnRlbF9ocGRfcGluX2RlZmF1bHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAogCiAjZGVmaW5lIEhQRF9TVE9STV9ERVRFQ1RfUEVSSU9ECQkxMDAwCiAjZGVm aW5lIEhQRF9TVE9STV9SRUVOQUJMRV9ERUxBWQkoMiAqIDYwICogMTAwMCkKKyNkZWZpbmUgSFBE X1JFVFJZX0RFTEFZCQkJMTAwMAogCiAvKioKICAqIGludGVsX2hwZF9pcnFfc3Rvcm1fZGV0ZWN0 IC0gZ2F0aGVyIHN0YXRzIGFuZCBkZXRlY3QgSFBEIElSUSBzdG9ybSBvbiBhIHBpbgpAQCAtMjY1 LDggKzI2NiwxMCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9ocGRfaXJxX3N0b3JtX3JlZW5hYmxlX3dv cmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCWludGVsX3J1bnRpbWVfcG1fcHV0KGRldl9w cml2LCB3YWtlcmVmKTsKIH0KIAotYm9vbCBpbnRlbF9lbmNvZGVyX2hvdHBsdWcoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCi0JCQkgICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IpCitlbnVtIGludGVsX2hvdHBsdWdfc3RhdGUKK2ludGVsX2VuY29kZXJfaG90cGx1Zyhz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKKwkJICAgICAgc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqY29ubmVjdG9yLAorCQkgICAgICBib29sIGlycV9yZWNlaXZlZCkKIHsKIAlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5iYXNlLmRldjsKIAllbnVtIGRybV9jb25uZWN0 b3Jfc3RhdHVzIG9sZF9zdGF0dXM7CkBAIC0yNzgsNyArMjgxLDcgQEAgYm9vbCBpbnRlbF9lbmNv ZGVyX2hvdHBsdWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCWRybV9oZWxwZXJf cHJvYmVfZGV0ZWN0KCZjb25uZWN0b3ItPmJhc2UsIE5VTEwsIGZhbHNlKTsKIAogCWlmIChvbGRf c3RhdHVzID09IGNvbm5lY3Rvci0+YmFzZS5zdGF0dXMpCi0JCXJldHVybiBmYWxzZTsKKwkJcmV0 dXJuIElOVEVMX0hPVFBMVUdfTk9DSEFOR0U7CiAKIAlEUk1fREVCVUdfS01TKCJbQ09OTkVDVE9S OiVkOiVzXSBzdGF0dXMgdXBkYXRlZCBmcm9tICVzIHRvICVzXG4iLAogCQkgICAgICBjb25uZWN0 b3ItPmJhc2UuYmFzZS5pZCwKQEAgLTI4Niw3ICsyODksNyBAQCBib29sIGludGVsX2VuY29kZXJf aG90cGx1ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJICAgICAgZHJtX2dldF9j b25uZWN0b3Jfc3RhdHVzX25hbWUob2xkX3N0YXR1cyksCiAJCSAgICAgIGRybV9nZXRfY29ubmVj dG9yX3N0YXR1c19uYW1lKGNvbm5lY3Rvci0+YmFzZS5zdGF0dXMpKTsKIAotCXJldHVybiB0cnVl OworCXJldHVybiBJTlRFTF9IT1RQTFVHX0NIQU5HRUQ7CiB9CiAKIHN0YXRpYyBib29sIGludGVs X2VuY29kZXJfaGFzX2hwZF9wdWxzZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKQEAg LTMzOCw3ICszNDEsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2RpZ3BvcnRfd29ya19mdW5jKHN0cnVj dCB3b3JrX3N0cnVjdCAqd29yaykKIAkJc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2Nr KTsKIAkJZGV2X3ByaXYtPmhvdHBsdWcuZXZlbnRfYml0cyB8PSBvbGRfYml0czsKIAkJc3Bpbl91 bmxvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOwotCQlzY2hlZHVsZV93b3JrKCZkZXZfcHJp di0+aG90cGx1Zy5ob3RwbHVnX3dvcmspOworCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmRldl9w cml2LT5ob3RwbHVnLmhvdHBsdWdfd29yaywgMCk7CiAJfQogfQogCkBAIC0zNDgsMTQgKzM1MSwx NyBAQCBzdGF0aWMgdm9pZCBpOTE1X2RpZ3BvcnRfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVj dCAqd29yaykKIHN0YXRpYyB2b2lkIGk5MTVfaG90cGx1Z193b3JrX2Z1bmMoc3RydWN0IHdvcmtf c3RydWN0ICp3b3JrKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9Ci0J CWNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSwgaG90cGx1Zy5ob3Rw bHVnX3dvcmspOworCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUs CisJCQkgICAgIGhvdHBsdWcuaG90cGx1Z193b3JrLndvcmspOwogCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSAmZGV2X3ByaXYtPmRybTsKIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9j b25uZWN0b3I7CiAJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXI7CiAJc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0 ZXIgY29ubl9pdGVyOwogCWJvb2wgY2hhbmdlZCA9IGZhbHNlOworCXUzMiByZXRyeSA9IDA7CiAJ dTMyIGhwZF9ldmVudF9iaXRzOworCXUzMiBocGRfcmV0cnlfYml0czsKIAogCW11dGV4X2xvY2so JmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwogCURSTV9ERUJVR19LTVMoInJ1bm5pbmcgZW5jb2Rl ciBob3RwbHVnIGZ1bmN0aW9uc1xuIik7CkBAIC0zNjQsNiArMzcwLDggQEAgc3RhdGljIHZvaWQg aTkxNV9ob3RwbHVnX3dvcmtfZnVuYyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAKIAlocGRf ZXZlbnRfYml0cyA9IGRldl9wcml2LT5ob3RwbHVnLmV2ZW50X2JpdHM7CiAJZGV2X3ByaXYtPmhv dHBsdWcuZXZlbnRfYml0cyA9IDA7CisJaHBkX3JldHJ5X2JpdHMgPSBkZXZfcHJpdi0+aG90cGx1 Zy5yZXRyeV9iaXRzOworCWRldl9wcml2LT5ob3RwbHVnLnJldHJ5X2JpdHMgPSAwOwogCiAJLyog RW5hYmxlIHBvbGxpbmcgZm9yIGNvbm5lY3RvcnMgd2hpY2ggaGFkIEhQRCBJUlEgc3Rvcm1zICov CiAJaW50ZWxfaHBkX2lycV9zdG9ybV9zd2l0Y2hfdG9fcG9sbGluZyhkZXZfcHJpdik7CkBAIC0z NzIsMTYgKzM4MCwyOSBAQCBzdGF0aWMgdm9pZCBpOTE1X2hvdHBsdWdfd29ya19mdW5jKHN0cnVj dCB3b3JrX3N0cnVjdCAqd29yaykKIAogCWRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2JlZ2luKGRl diwgJmNvbm5faXRlcik7CiAJZHJtX2Zvcl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm5lY3Rvciwg JmNvbm5faXRlcikgeworCQl1MzIgaHBkX2JpdDsKKwogCQlpbnRlbF9jb25uZWN0b3IgPSB0b19p bnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKTsKIAkJaWYgKCFpbnRlbF9jb25uZWN0b3ItPmVuY29k ZXIpCiAJCQljb250aW51ZTsKIAkJaW50ZWxfZW5jb2RlciA9IGludGVsX2Nvbm5lY3Rvci0+ZW5j b2RlcjsKLQkJaWYgKGhwZF9ldmVudF9iaXRzICYgKDEgPDwgaW50ZWxfZW5jb2Rlci0+aHBkX3Bp bikpIHsKKwkJaHBkX2JpdCA9IEJJVChpbnRlbF9lbmNvZGVyLT5ocGRfcGluKTsKKwkJaWYgKCho cGRfZXZlbnRfYml0cyB8IGhwZF9yZXRyeV9iaXRzKSAmIGhwZF9iaXQpIHsKIAkJCURSTV9ERUJV R19LTVMoIkNvbm5lY3RvciAlcyAocGluICVpKSByZWNlaXZlZCBob3RwbHVnIGV2ZW50LlxuIiwK IAkJCQkgICAgICBjb25uZWN0b3ItPm5hbWUsIGludGVsX2VuY29kZXItPmhwZF9waW4pOwogCi0J CQljaGFuZ2VkIHw9IGludGVsX2VuY29kZXItPmhvdHBsdWcoaW50ZWxfZW5jb2RlciwKLQkJCQkJ CQkgIGludGVsX2Nvbm5lY3Rvcik7CisJCQlzd2l0Y2ggKGludGVsX2VuY29kZXItPmhvdHBsdWco aW50ZWxfZW5jb2RlciwKKwkJCQkJCSAgICAgICBpbnRlbF9jb25uZWN0b3IsCisJCQkJCQkgICAg ICAgaHBkX2V2ZW50X2JpdHMgJiBocGRfYml0KSkgeworCQkJY2FzZSBJTlRFTF9IT1RQTFVHX05P Q0hBTkdFOgorCQkJCWJyZWFrOworCQkJY2FzZSBJTlRFTF9IT1RQTFVHX0NIQU5HRUQ6CisJCQkJ Y2hhbmdlZCA9IHRydWU7CisJCQkJYnJlYWs7CisJCQljYXNlIElOVEVMX0hPVFBMVUdfUkVUUlk6 CisJCQkJcmV0cnkgfD0gaHBkX2JpdDsKKwkJCQlicmVhazsKKwkJCX0KIAkJfQogCX0KIAlkcm1f Y29ubmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5faXRlcik7CkBAIC0zODksNiArNDEwLDE1IEBA IHN0YXRpYyB2b2lkIGk5MTVfaG90cGx1Z193b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICp3 b3JrKQogCiAJaWYgKGNoYW5nZWQpCiAJCWRybV9rbXNfaGVscGVyX2hvdHBsdWdfZXZlbnQoZGV2 KTsKKworCWlmIChyZXRyeSkgeworCQlzcGluX2xvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xvY2sp OworCQlkZXZfcHJpdi0+aG90cGx1Zy5yZXRyeV9iaXRzIHw9IHJldHJ5OworCQlzcGluX3VubG9j a19pcnEoJmRldl9wcml2LT5pcnFfbG9jayk7CisKKwkJbW9kX2RlbGF5ZWRfd29yayhzeXN0ZW1f d3EsICZkZXZfcHJpdi0+aG90cGx1Zy5ob3RwbHVnX3dvcmssCisJCQkJIG1zZWNzX3RvX2ppZmZp ZXMoSFBEX1JFVFJZX0RFTEFZKSk7CisJfQogfQogCiAKQEAgLTUxNSw3ICs1NDUsNyBAQCB2b2lk IGludGVsX2hwZF9pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CiAJaWYgKHF1ZXVlX2RpZykKIAkJcXVldWVfd29yayhkZXZfcHJpdi0+aG90cGx1Zy5kcF93cSwg JmRldl9wcml2LT5ob3RwbHVnLmRpZ19wb3J0X3dvcmspOwogCWlmIChxdWV1ZV9ocCkKLQkJc2No ZWR1bGVfd29yaygmZGV2X3ByaXYtPmhvdHBsdWcuaG90cGx1Z193b3JrKTsKKwkJc2NoZWR1bGVf ZGVsYXllZF93b3JrKCZkZXZfcHJpdi0+aG90cGx1Zy5ob3RwbHVnX3dvcmssIDApOwogfQogCiAv KioKQEAgLTYzNSw3ICs2NjUsOCBAQCB2b2lkIGludGVsX2hwZF9wb2xsX2luaXQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCiB2b2lkIGludGVsX2hwZF9pbml0X3dvcmsoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewotCUlOSVRfV09SSygmZGV2X3ByaXYt PmhvdHBsdWcuaG90cGx1Z193b3JrLCBpOTE1X2hvdHBsdWdfd29ya19mdW5jKTsKKwlJTklUX0RF TEFZRURfV09SSygmZGV2X3ByaXYtPmhvdHBsdWcuaG90cGx1Z193b3JrLAorCQkJICBpOTE1X2hv dHBsdWdfd29ya19mdW5jKTsKIAlJTklUX1dPUksoJmRldl9wcml2LT5ob3RwbHVnLmRpZ19wb3J0 X3dvcmssIGk5MTVfZGlncG9ydF93b3JrX2Z1bmMpOwogCUlOSVRfV09SSygmZGV2X3ByaXYtPmhv dHBsdWcucG9sbF9pbml0X3dvcmssIGk5MTVfaHBkX3BvbGxfaW5pdF93b3JrKTsKIAlJTklUX0RF TEFZRURfV09SSygmZGV2X3ByaXYtPmhvdHBsdWcucmVlbmFibGVfd29yaywKQEAgLTY0OSwxMSAr NjgwLDEyIEBAIHZvaWQgaW50ZWxfaHBkX2NhbmNlbF93b3JrKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKIAlkZXZfcHJpdi0+aG90cGx1Zy5sb25nX3BvcnRfbWFzayA9IDA7CiAJ ZGV2X3ByaXYtPmhvdHBsdWcuc2hvcnRfcG9ydF9tYXNrID0gMDsKIAlkZXZfcHJpdi0+aG90cGx1 Zy5ldmVudF9iaXRzID0gMDsKKwlkZXZfcHJpdi0+aG90cGx1Zy5yZXRyeV9iaXRzID0gMDsKIAog CXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKIAogCWNhbmNlbF93b3JrX3N5 bmMoJmRldl9wcml2LT5ob3RwbHVnLmRpZ19wb3J0X3dvcmspOwotCWNhbmNlbF93b3JrX3N5bmMo JmRldl9wcml2LT5ob3RwbHVnLmhvdHBsdWdfd29yayk7CisJY2FuY2VsX2RlbGF5ZWRfd29ya19z eW5jKCZkZXZfcHJpdi0+aG90cGx1Zy5ob3RwbHVnX3dvcmspOwogCWNhbmNlbF93b3JrX3N5bmMo JmRldl9wcml2LT5ob3RwbHVnLnBvbGxfaW5pdF93b3JrKTsKIAljYW5jZWxfZGVsYXllZF93b3Jr X3N5bmMoJmRldl9wcml2LT5ob3RwbHVnLnJlZW5hYmxlX3dvcmspOwogfQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfc2R2by5jCmluZGV4IGU3YjA4ODRiYTVhNS4uOTI3OTM0NzViMmI5IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfc2R2by5jCkBAIC0xNzIyLDEyICsxNzIyLDE0IEBAIHN0YXRpYyB2b2lkIGlu dGVsX3Nkdm9fZW5hYmxlX2hvdHBsdWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJ CQkgICAgICZpbnRlbF9zZHZvLT5ob3RwbHVnX2FjdGl2ZSwgMik7CiB9CiAKLXN0YXRpYyBib29s IGludGVsX3Nkdm9faG90cGx1ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKLQkJCSAg ICAgICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCitzdGF0aWMgZW51bSBpbnRl bF9ob3RwbHVnX3N0YXRlCitpbnRlbF9zZHZvX2hvdHBsdWcoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCisJCSAgIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKKwkJICAg Ym9vbCBpcnFfcmVjZWl2ZWQpCiB7CiAJaW50ZWxfc2R2b19lbmFibGVfaG90cGx1ZyhlbmNvZGVy KTsKIAotCXJldHVybiBpbnRlbF9lbmNvZGVyX2hvdHBsdWcoZW5jb2RlciwgY29ubmVjdG9yKTsK KwlyZXR1cm4gaW50ZWxfZW5jb2Rlcl9ob3RwbHVnKGVuY29kZXIsIGNvbm5lY3RvciwgaXJxX3Jl Y2VpdmVkKTsKIH0KIAogc3RhdGljIGJvb2wKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4