From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v2] drm/i915: Report the failure to write to the punit Date: Thu, 26 Jan 2017 10:19:19 +0000 Message-ID: <20170126101919.13211-1-chris@chris-wilson.co.uk> References: <20170125134808.6152-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 78ACF6E248 for ; Thu, 26 Jan 2017 10:19:24 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id r144so49348458wme.0 for ; Thu, 26 Jan 2017 02:19:24 -0800 (PST) In-Reply-To: <20170125134808.6152-1-chris@chris-wilson.co.uk> 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: Mika Kuoppala List-Id: intel-gfx@lists.freedesktop.org VGhlIHdyaXRlIHRvIHRoZSBwdW5pdCBtYXkgZmFpbCwgc28gcHJvcGFnYXRlIHRoZSBlcnJvciBj b2RlIGJhY2sgdG8gaXRzCmNhbGxlcnMuIE9mIHBhcnRpY3VsYXIgaW50ZXJlc3QgYXJlIHRoZSBS UFMgd3JpdGVzLCBzbyBhZGQgYXBwcm9wcmlhdGUKdXNlciBlcnJvciBjb2RlcyBhbmQgbG9nZ2lu Zy4KCnYyOiBBZGQgREVCVUcgZm9yIGZhaWxlZCBmcmVxdWVuY3kgY2hhbmdlcyBkdXJpbmcgUlBT LgoKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ CkNjOiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgIHwgIDYgKysrLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2lycS5jICAgICAgIHwgIDUgKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNm cy5jICAgICB8ICA5ICsrKystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAg ICAgfCA0NSArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfc2lkZWJhbmQuYyB8IDEwICsrKysrLS0tCiA2IGZpbGVzIGNoYW5nZWQs IDUzIGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k ZWJ1Z2ZzLmMKaW5kZXggYzA0MWEyYWU5YWYwLi5hZWJkNDU2ZWRlYzEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jCkBAIC00MjcyLDcgKzQyNzIsOCBAQCBpOTE1X21heF9mcmVxX3Nl dCh2b2lkICpkYXRhLCB1NjQgdmFsKQogCiAJZGV2X3ByaXYtPnJwcy5tYXhfZnJlcV9zb2Z0bGlt aXQgPSB2YWw7CiAKLQlpbnRlbF9zZXRfcnBzKGRldl9wcml2LCB2YWwpOworCWlmIChpbnRlbF9z ZXRfcnBzKGRldl9wcml2LCB2YWwpKQorCQlEUk1fREVCVUdfRFJJVkVSKCJmYWlsZWQgdG8gdXBk YXRlIFJQUyB0byBuZXcgc29mdGxpbWl0XG4iKTsKIAogCW11dGV4X3VubG9jaygmZGV2X3ByaXYt PnJwcy5od19sb2NrKTsKIApAQCAtNDMyNyw3ICs0MzI4LDggQEAgaTkxNV9taW5fZnJlcV9zZXQo dm9pZCAqZGF0YSwgdTY0IHZhbCkKIAogCWRldl9wcml2LT5ycHMubWluX2ZyZXFfc29mdGxpbWl0 ID0gdmFsOwogCi0JaW50ZWxfc2V0X3JwcyhkZXZfcHJpdiwgdmFsKTsKKwlpZiAoaW50ZWxfc2V0 X3JwcyhkZXZfcHJpdiwgdmFsKSkKKwkJRFJNX0RFQlVHX0RSSVZFUigiZmFpbGVkIHRvIHVwZGF0 ZSBSUFMgdG8gbmV3IHNvZnRsaW1pdFxuIik7CiAKIAltdXRleF91bmxvY2soJmRldl9wcml2LT5y cHMuaHdfbG9jayk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGVmNWFmM2M3YTE0YS4u MWM1MTQ1ZDBlNTNkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTM3NjYsNyArMzc2Niw3 IEBAIGV4dGVybiB2b2lkIGk5MTVfcmVkaXNhYmxlX3ZnYShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpOwogZXh0ZXJuIHZvaWQgaTkxNV9yZWRpc2FibGVfdmdhX3Bvd2VyX29uKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiBleHRlcm4gYm9vbCBpcm9ubGFrZV9z ZXRfZHJwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHU4IHZhbCk7CiBleHRl cm4gdm9pZCBpbnRlbF9pbml0X3BjaF9yZWZjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KTsKLWV4dGVybiB2b2lkIGludGVsX3NldF9ycHMoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LCB1OCB2YWwpOworZXh0ZXJuIGludCBpbnRlbF9zZXRfcnBzKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTggdmFsKTsKIGV4dGVybiBib29sIGludGVsX3Nl dF9tZW1vcnlfY3hzcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJICBi b29sIGVuYWJsZSk7CiAKQEAgLTM3OTIsNyArMzc5Miw3IEBAIGludCBza2xfcGNvZGVfcmVxdWVz dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBtYm94LCB1MzIgcmVxdWVz dCwKIAogLyogaW50ZWxfc2lkZWJhbmQuYyAqLwogdTMyIHZsdl9wdW5pdF9yZWFkKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIGFkZHIpOwotdm9pZCB2bHZfcHVuaXRfd3Jp dGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgYWRkciwgdTMyIHZhbCk7 CitpbnQgdmx2X3B1bml0X3dyaXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwg dTMyIGFkZHIsIHUzMiB2YWwpOwogdTMyIHZsdl9uY19yZWFkKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwgdTggYWRkcik7CiB1MzIgdmx2X2lvc2Zfc2JfcmVhZChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHU4IHBvcnQsIHUzMiByZWcpOwogdm9pZCB2bHZfaW9z Zl9zYl93cml0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHU4IHBvcnQsIHUz MiByZWcsIHUzMiB2YWwpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9p cnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKaW5kZXggNTk4NjU2NTRmNTUy Li4xNDViZWUwYWE1N2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJx LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwpAQCAtMTIzNCw3ICsxMjM0 LDEwIEBAIHN0YXRpYyB2b2lkIGdlbjZfcG1fcnBzX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3 b3JrKQogCW5ld19kZWxheSArPSBhZGo7CiAJbmV3X2RlbGF5ID0gY2xhbXBfdChpbnQsIG5ld19k ZWxheSwgbWluLCBtYXgpOwogCi0JaW50ZWxfc2V0X3JwcyhkZXZfcHJpdiwgbmV3X2RlbGF5KTsK KwlpZiAoaW50ZWxfc2V0X3JwcyhkZXZfcHJpdiwgbmV3X2RlbGF5KSkgeworCQlEUk1fREVCVUdf RFJJVkVSKCJGYWlsZWQgdG8gc2V0IG5ldyBHUFUgZnJlcXVlbmN5XG4iKTsKKwkJZGV2X3ByaXYt PnJwcy5sYXN0X2FkaiA9IDA7CisJfQogCiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cnBzLmh3 X2xvY2spOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jCmluZGV4IDM3NmFjOTU3Y2QxYy4u YTcyMWZmMTE2MTAxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2Zz LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jCkBAIC0zOTUsMTMgKzM5 NSwxMyBAQCBzdGF0aWMgc3NpemVfdCBndF9tYXhfZnJlcV9taHpfc3RvcmUoc3RydWN0IGRldmlj ZSAqa2RldiwKIAkvKiBXZSBzdGlsbCBuZWVkICpfc2V0X3JwcyB0byBwcm9jZXNzIHRoZSBuZXcg bWF4X2RlbGF5IGFuZAogCSAqIHVwZGF0ZSB0aGUgaW50ZXJydXB0IGxpbWl0cyBhbmQgUE1JTlRS TVNLIGV2ZW4gdGhvdWdoCiAJICogZnJlcXVlbmN5IHJlcXVlc3QgbWF5IGJlIHVuY2hhbmdlZC4g Ki8KLQlpbnRlbF9zZXRfcnBzKGRldl9wcml2LCB2YWwpOworCXJldCA9IGludGVsX3NldF9ycHMo ZGV2X3ByaXYsIHZhbCk7CiAKIAltdXRleF91bmxvY2soJmRldl9wcml2LT5ycHMuaHdfbG9jayk7 CiAKIAlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7CiAKLQlyZXR1cm4gY291bnQ7CisJ cmV0dXJuIHJldCA/OiBjb3VudDsKIH0KIAogc3RhdGljIHNzaXplX3QgZ3RfbWluX2ZyZXFfbWh6 X3Nob3coc3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIs IGNoYXIgKmJ1ZikKQEAgLTQ0OCwxNCArNDQ4LDEzIEBAIHN0YXRpYyBzc2l6ZV90IGd0X21pbl9m cmVxX21oel9zdG9yZShzdHJ1Y3QgZGV2aWNlICprZGV2LAogCS8qIFdlIHN0aWxsIG5lZWQgKl9z ZXRfcnBzIHRvIHByb2Nlc3MgdGhlIG5ldyBtaW5fZGVsYXkgYW5kCiAJICogdXBkYXRlIHRoZSBp bnRlcnJ1cHQgbGltaXRzIGFuZCBQTUlOVFJNU0sgZXZlbiB0aG91Z2gKIAkgKiBmcmVxdWVuY3kg cmVxdWVzdCBtYXkgYmUgdW5jaGFuZ2VkLiAqLwotCWludGVsX3NldF9ycHMoZGV2X3ByaXYsIHZh bCk7CisJcmV0ID0gaW50ZWxfc2V0X3JwcyhkZXZfcHJpdiwgdmFsKTsKIAogCW11dGV4X3VubG9j aygmZGV2X3ByaXYtPnJwcy5od19sb2NrKTsKIAogCWludGVsX3J1bnRpbWVfcG1fcHV0KGRldl9w cml2KTsKIAotCXJldHVybiBjb3VudDsKLQorCXJldHVybiByZXQgPzogY291bnQ7CiB9CiAKIHN0 YXRpYyBERVZJQ0VfQVRUUihndF9hY3RfZnJlcV9taHosIFNfSVJVR08sIGd0X2FjdF9mcmVxX21o el9zaG93LCBOVUxMKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bt LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCmluZGV4IDI1YzI2NTJlMWUxMS4u Nzk4Nzg3YzVkZjllIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKQEAgLTQ5MzMsNyArNDkzMyw3 IEBAIHN0YXRpYyB1MzIgZ2VuNl9ycHNfcG1fbWFzayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsIHU4IHZhbCkKIC8qIGdlbjZfc2V0X3JwcyBpcyBjYWxsZWQgdG8gdXBkYXRlIHRo ZSBmcmVxdWVuY3kgcmVxdWVzdCwgYnV0IHNob3VsZCBhbHNvIGJlCiAgKiBjYWxsZWQgd2hlbiB0 aGUgcmFuZ2UgKG1pbl9kZWxheSBhbmQgbWF4X2RlbGF5KSBpcyBtb2RpZmllZCBzbyB0aGF0IHdl IGNhbgogICogdXBkYXRlIHRoZSBHRU42X1JQX0lOVEVSUlVQVF9MSU1JVFMgcmVnaXN0ZXIgYWNj b3JkaW5nbHkuICovCi1zdGF0aWMgdm9pZCBnZW42X3NldF9ycHMoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LCB1OCB2YWwpCitzdGF0aWMgaW50IGdlbjZfc2V0X3JwcyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHU4IHZhbCkKIHsKIAlXQVJOX09OKCFtdXRleF9p c19sb2NrZWQoJmRldl9wcml2LT5ycHMuaHdfbG9jaykpOwogCVdBUk5fT04odmFsID4gZGV2X3By aXYtPnJwcy5tYXhfZnJlcSk7CkBAIC00OTY4LDEwICs0OTY4LDE0IEBAIHN0YXRpYyB2b2lkIGdl bjZfc2V0X3JwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHU4IHZhbCkKIAog CWRldl9wcml2LT5ycHMuY3VyX2ZyZXEgPSB2YWw7CiAJdHJhY2VfaW50ZWxfZ3B1X2ZyZXFfY2hh bmdlKGludGVsX2dwdV9mcmVxKGRldl9wcml2LCB2YWwpKTsKKworCXJldHVybiAwOwogfQogCi1z dGF0aWMgdm9pZCB2YWxsZXl2aWV3X3NldF9ycHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCB1OCB2YWwpCitzdGF0aWMgaW50IHZhbGxleXZpZXdfc2V0X3JwcyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHU4IHZhbCkKIHsKKwlpbnQgZXJyOworCiAJV0FSTl9P TighbXV0ZXhfaXNfbG9ja2VkKCZkZXZfcHJpdi0+cnBzLmh3X2xvY2spKTsKIAlXQVJOX09OKHZh bCA+IGRldl9wcml2LT5ycHMubWF4X2ZyZXEpOwogCVdBUk5fT04odmFsIDwgZGV2X3ByaXYtPnJw cy5taW5fZnJlcSk7CkBAIC00OTgzLDEzICs0OTg3LDE4IEBAIHN0YXRpYyB2b2lkIHZhbGxleXZp ZXdfc2V0X3JwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHU4IHZhbCkKIAlJ OTE1X1dSSVRFKEdFTjZfUE1JTlRSTVNLLCBnZW42X3Jwc19wbV9tYXNrKGRldl9wcml2LCB2YWwp KTsKIAogCWlmICh2YWwgIT0gZGV2X3ByaXYtPnJwcy5jdXJfZnJlcSkgewotCQl2bHZfcHVuaXRf d3JpdGUoZGV2X3ByaXYsIFBVTklUX1JFR19HUFVfRlJFUV9SRVEsIHZhbCk7CisJCWVyciA9IHZs dl9wdW5pdF93cml0ZShkZXZfcHJpdiwgUFVOSVRfUkVHX0dQVV9GUkVRX1JFUSwgdmFsKTsKKwkJ aWYgKGVycikKKwkJCXJldHVybiBlcnI7CisKIAkJaWYgKCFJU19DSEVSUllWSUVXKGRldl9wcml2 KSkKIAkJCWdlbjZfc2V0X3Jwc190aHJlc2hvbGRzKGRldl9wcml2LCB2YWwpOwogCX0KIAogCWRl dl9wcml2LT5ycHMuY3VyX2ZyZXEgPSB2YWw7CiAJdHJhY2VfaW50ZWxfZ3B1X2ZyZXFfY2hhbmdl KGludGVsX2dwdV9mcmVxKGRldl9wcml2LCB2YWwpKTsKKworCXJldHVybiAwOwogfQogCiAvKiB2 bHZfc2V0X3Jwc19pZGxlOiBTZXQgdGhlIGZyZXF1ZW5jeSB0byBpZGxlLCBpZiBHZnggY2xvY2tz IGFyZSBkb3duCkBAIC01MDAyLDYgKzUwMTEsNyBAQCBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3X3Nl dF9ycHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1OCB2YWwpCiBzdGF0aWMg dm9pZCB2bHZfc2V0X3Jwc19pZGxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK IHsKIAl1MzIgdmFsID0gZGV2X3ByaXYtPnJwcy5pZGxlX2ZyZXE7CisJaW50IGVycjsKIAogCWlm IChkZXZfcHJpdi0+cnBzLmN1cl9mcmVxIDw9IHZhbCkKIAkJcmV0dXJuOwpAQCAtNTAxOSw4ICs1 MDI5LDExIEBAIHN0YXRpYyB2b2lkIHZsdl9zZXRfcnBzX2lkbGUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQogCSAqIHBvd2VyIHRoYW4gdGhlIHJlbmRlciBwb3dlcndlbGwuCiAJ ICovCiAJaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9nZXQoZGV2X3ByaXYsIEZPUkNFV0FLRV9NRURJ QSk7Ci0JdmFsbGV5dmlld19zZXRfcnBzKGRldl9wcml2LCB2YWwpOworCWVyciA9IHZhbGxleXZp ZXdfc2V0X3JwcyhkZXZfcHJpdiwgdmFsKTsKIAlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX3B1dChk ZXZfcHJpdiwgRk9SQ0VXQUtFX01FRElBKTsKKworCWlmIChlcnIpCisJCURSTV9FUlJPUigiRmFp bGVkIHRvIHNldCBSUFMgZm9yIGlkbGVcbiIpOwogfQogCiB2b2lkIGdlbjZfcnBzX2J1c3koc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQpAQCAtNTAzNSwxMCArNTA0OCwxMSBAQCB2 b2lkIGdlbjZfcnBzX2J1c3koc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQln ZW42X2VuYWJsZV9ycHNfaW50ZXJydXB0cyhkZXZfcHJpdik7CiAKIAkJLyogRW5zdXJlIHdlIHN0 YXJ0IGF0IHRoZSB1c2VyJ3MgZGVzaXJlZCBmcmVxdWVuY3kgKi8KLQkJaW50ZWxfc2V0X3Jwcyhk ZXZfcHJpdiwKLQkJCSAgICAgIGNsYW1wKGRldl9wcml2LT5ycHMuY3VyX2ZyZXEsCi0JCQkJICAg IGRldl9wcml2LT5ycHMubWluX2ZyZXFfc29mdGxpbWl0LAotCQkJCSAgICBkZXZfcHJpdi0+cnBz Lm1heF9mcmVxX3NvZnRsaW1pdCkpOworCQlpZiAoaW50ZWxfc2V0X3JwcyhkZXZfcHJpdiwKKwkJ CQkgIGNsYW1wKGRldl9wcml2LT5ycHMuY3VyX2ZyZXEsCisJCQkJCWRldl9wcml2LT5ycHMubWlu X2ZyZXFfc29mdGxpbWl0LAorCQkJCQlkZXZfcHJpdi0+cnBzLm1heF9mcmVxX3NvZnRsaW1pdCkp KQorCQkJRFJNX0RFQlVHX0RSSVZFUigiRmFpbGVkIHRvIHNldCBpZGxlIGZyZXF1ZW5jeVxuIik7 CiAJfQogCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPnJwcy5od19sb2NrKTsKIH0KQEAgLTUxMDYs MTIgKzUxMjAsMTYgQEAgdm9pZCBnZW42X3Jwc19ib29zdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCiAJc3Bpbl91bmxvY2soJmRldl9wcml2LT5ycHMuY2xpZW50X2xvY2spOwog fQogCi12b2lkIGludGVsX3NldF9ycHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCB1OCB2YWwpCitpbnQgaW50ZWxfc2V0X3JwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsIHU4IHZhbCkKIHsKKwlpbnQgZXJyOworCiAJaWYgKElTX1ZBTExFWVZJRVcoZGV2X3By aXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQotCQl2YWxsZXl2aWV3X3NldF9ycHMoZGV2 X3ByaXYsIHZhbCk7CisJCWVyciA9IHZhbGxleXZpZXdfc2V0X3JwcyhkZXZfcHJpdiwgdmFsKTsK IAllbHNlCi0JCWdlbjZfc2V0X3JwcyhkZXZfcHJpdiwgdmFsKTsKKwkJZXJyID0gZ2VuNl9zZXRf cnBzKGRldl9wcml2LCB2YWwpOworCisJcmV0dXJuIGVycjsKIH0KIAogc3RhdGljIHZvaWQgZ2Vu OV9kaXNhYmxlX3JjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCkBAIC01MzE1 LDcgKzUzMzMsNyBAQCBzdGF0aWMgdm9pZCBnZW42X2luaXRfcnBzX2ZyZXF1ZW5jaWVzKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIH0KIAogc3RhdGljIHZvaWQgcmVzZXRfcnBz KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJICAgICAgdm9pZCAoKnNldCko c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKiwgdTgpKQorCQkgICAgICBpbnQgKCpzZXQpKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICosIHU4KSkKIHsKIAl1OCBmcmVxID0gZGV2X3ByaXYtPnJwcy5j dXJfZnJlcTsKIApAQCAtNTMyMyw3ICs1MzQxLDggQEAgc3RhdGljIHZvaWQgcmVzZXRfcnBzKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlkZXZfcHJpdi0+cnBzLnBvd2VyID0g LTE7CiAJZGV2X3ByaXYtPnJwcy5jdXJfZnJlcSA9IC0xOwogCi0Jc2V0KGRldl9wcml2LCBmcmVx KTsKKwlpZiAoc2V0KGRldl9wcml2LCBmcmVxKSkKKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gcmVz ZXQgUlBTIHRvIGluaXRpYWwgdmFsdWVzXG4iKTsKIH0KIAogLyogU2VlIHRoZSBHZW45X0dUX1BN X1Byb2dyYW1taW5nX0d1aWRlIGRvYyBmb3IgdGhlIGJlbG93ICovCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zaWRlYmFuZC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfc2lkZWJhbmQuYwppbmRleCAxYTg0MGJmOTJlZWEuLmQzZDQ5YTA5YzkxOSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2lkZWJhbmQuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9zaWRlYmFuZC5jCkBAIC05MywxNCArOTMsMTggQEAgdTMyIHZs dl9wdW5pdF9yZWFkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIGFkZHIp CiAJcmV0dXJuIHZhbDsKIH0KIAotdm9pZCB2bHZfcHVuaXRfd3JpdGUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgYWRkciwgdTMyIHZhbCkKK2ludCB2bHZfcHVuaXRfd3Jp dGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgYWRkciwgdTMyIHZhbCkK IHsKKwlpbnQgZXJyOworCiAJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZkZXZfcHJpdi0+cnBz Lmh3X2xvY2spKTsKIAogCW11dGV4X2xvY2soJmRldl9wcml2LT5zYl9sb2NrKTsKLQl2bHZfc2lk ZWJhbmRfcncoZGV2X3ByaXYsIFBDSV9ERVZGTigwLCAwKSwgSU9TRl9QT1JUX1BVTklULAotCQkJ U0JfQ1JXUkRBX05QLCBhZGRyLCAmdmFsKTsKKwllcnIgPSB2bHZfc2lkZWJhbmRfcncoZGV2X3By aXYsIFBDSV9ERVZGTigwLCAwKSwgSU9TRl9QT1JUX1BVTklULAorCQkJICAgICAgU0JfQ1JXUkRB X05QLCBhZGRyLCAmdmFsKTsKIAltdXRleF91bmxvY2soJmRldl9wcml2LT5zYl9sb2NrKTsKKwor CXJldHVybiBlcnI7CiB9CiAKIHUzMiB2bHZfYnVuaXRfcmVhZChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsIHUzMiByZWcpCi0tIAoyLjExLjAKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=