From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrey Grodzovsky Subject: [PATCH v4 5/5] drm/amdgpu: Avoid HW reset if guilty job already signaled. Date: Tue, 16 Apr 2019 14:23:06 -0400 Message-ID: <1555438986-18303-5-git-send-email-andrey.grodzovsky@amd.com> References: <1555438986-18303-1-git-send-email-andrey.grodzovsky@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1555438986-18303-1-git-send-email-andrey.grodzovsky-5C7GfCeVMHo@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, eric-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org, etnaviv-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, ckoenig.leichtzumerken-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org Cc: Andrey Grodzovsky , Nicholas.Kazlauskas-5C7GfCeVMHo@public.gmane.org List-Id: dri-devel@lists.freedesktop.org QWxzbyByZWplY3QgVERScyBpZiBhbm90aGVyIG9uZSBhbHJlYWR5IHJ1bm5pbmcuCgp2MjoKU3Rv cCBhbGwgc2NoZWR1bGVycyBhY3Jvc3MgZGV2aWNlIGFuZCBlbnRpcmUgWEdNSSBoaXZlIGJlZm9y ZQpmb3JjZSBzaWduYWxpbmcgSFcgZmVuY2VzLgpBdm9pZCBwYXNzaW5nIGpvYl9zaWduYWxlZCB0 byBoZWxwZXIgZm5jdGlvbnMgdG8ga2VlcCBhbGwgdGhlIGRlY2lzaW9uCm1ha2luZyBhYm91dCBz a2lwcGluZyBIVyByZXNldCBpbiBvbmUgcGxhY2UuCgp2MzoKRml4IFNXIHNjaGVkLiBoYW5nIGFm dGVyIG5vbiBIVyByZXNldC4gc2NoZWQuaHdfcnFfY291bnQgaGFzIHRvIGJlIGJhbGFuY2VkCmFn YWluc3QgaXQncyBkZWNyZW1lbnQgaW4gZHJtX3NjaGVkX3N0b3AgaW4gbm9uIEhXIHJlc2V0IGNh c2UuCnY0OiByZWJhc2UKClNpZ25lZC1vZmYtYnk6IEFuZHJleSBHcm9kem92c2t5IDxhbmRyZXku Z3JvZHpvdnNreUBhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9kZXZpY2UuYyB8IDE1MSArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDEwMyBpbnNlcnRpb25zKCspLCA0OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMKaW5kZXggYTBlMTY1Yy4uYmZiNmFiMCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYwpAQCAtMzMzNCw4ICsz MzM0LDYgQEAgc3RhdGljIGludCBhbWRncHVfZGV2aWNlX3ByZV9hc2ljX3Jlc2V0KHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2LAogCQlpZiAoIXJpbmcgfHwgIXJpbmctPnNjaGVkLnRocmVhZCkK IAkJCWNvbnRpbnVlOwogCi0JCWRybV9zY2hlZF9zdG9wKCZyaW5nLT5zY2hlZCwgJmpvYi0+YmFz ZSk7Ci0KIAkJLyogYWZ0ZXIgYWxsIGh3IGpvYnMgYXJlIHJlc2V0LCBodyBmZW5jZSBpcyBtZWFu aW5nbGVzcywgc28gZm9yY2VfY29tcGxldGlvbiAqLwogCQlhbWRncHVfZmVuY2VfZHJpdmVyX2Zv cmNlX2NvbXBsZXRpb24ocmluZyk7CiAJfQpAQCAtMzM0Myw2ICszMzQxLDcgQEAgc3RhdGljIGlu dCBhbWRncHVfZGV2aWNlX3ByZV9hc2ljX3Jlc2V0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 LAogCWlmKGpvYikKIAkJZHJtX3NjaGVkX2luY3JlYXNlX2thcm1hKCZqb2ItPmJhc2UpOwogCisJ LyogRG9uJ3Qgc3VzcGVuZCBvbiBiYXJlIG1ldGFsIGlmIHdlIGFyZSBub3QgZ29pbmcgdG8gSFcg cmVzZXQgdGhlIEFTSUMgKi8KIAlpZiAoIWFtZGdwdV9zcmlvdl92ZihhZGV2KSkgewogCiAJCWlm ICghbmVlZF9mdWxsX3Jlc2V0KQpAQCAtMzQ4MCwzNyArMzQ3OSwyMSBAQCBzdGF0aWMgaW50IGFt ZGdwdV9kb19hc2ljX3Jlc2V0KHN0cnVjdCBhbWRncHVfaGl2ZV9pbmZvICpoaXZlLAogCXJldHVy biByOwogfQogCi1zdGF0aWMgdm9pZCBhbWRncHVfZGV2aWNlX3Bvc3RfYXNpY19yZXNldChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKK3N0YXRpYyBib29sIGFtZGdwdV9kZXZpY2VfbG9ja19h ZGV2KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBib29sIHRyeWxvY2spCiB7Ci0JaW50IGk7 Ci0KLQlmb3IgKGkgPSAwOyBpIDwgQU1ER1BVX01BWF9SSU5HUzsgKytpKSB7Ci0JCXN0cnVjdCBh bWRncHVfcmluZyAqcmluZyA9IGFkZXYtPnJpbmdzW2ldOworCWlmICh0cnlsb2NrKSB7CisJCWlm ICghbXV0ZXhfdHJ5bG9jaygmYWRldi0+bG9ja19yZXNldCkpCisJCQlyZXR1cm4gZmFsc2U7CisJ fSBlbHNlCisJCW11dGV4X2xvY2soJmFkZXYtPmxvY2tfcmVzZXQpOwogCi0JCWlmICghcmluZyB8 fCAhcmluZy0+c2NoZWQudGhyZWFkKQotCQkJY29udGludWU7Ci0KLQkJaWYgKCFhZGV2LT5hc2lj X3Jlc2V0X3JlcykKLQkJCWRybV9zY2hlZF9yZXN1Ym1pdF9qb2JzKCZyaW5nLT5zY2hlZCk7Ci0K LQkJZHJtX3NjaGVkX3N0YXJ0KCZyaW5nLT5zY2hlZCwgIWFkZXYtPmFzaWNfcmVzZXRfcmVzKTsK LQl9Ci0KLQlpZiAoIWFtZGdwdV9kZXZpY2VfaGFzX2RjX3N1cHBvcnQoYWRldikpIHsKLQkJZHJt X2hlbHBlcl9yZXN1bWVfZm9yY2VfbW9kZShhZGV2LT5kZGV2KTsKLQl9Ci0KLQlhZGV2LT5hc2lj X3Jlc2V0X3JlcyA9IDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGFtZGdwdV9kZXZpY2VfbG9ja19hZGV2 KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQotewotCW11dGV4X2xvY2soJmFkZXYtPmxvY2tf cmVzZXQpOwogCWF0b21pY19pbmMoJmFkZXYtPmdwdV9yZXNldF9jb3VudGVyKTsKIAlhZGV2LT5p bl9ncHVfcmVzZXQgPSAxOwogCS8qIEJsb2NrIGtmZDogU1JJT1Ygd291bGQgZG8gaXQgc2VwYXJh dGVseSAqLwogCWlmICghYW1kZ3B1X3NyaW92X3ZmKGFkZXYpKQogICAgICAgICAgICAgICAgIGFt ZGdwdV9hbWRrZmRfcHJlX3Jlc2V0KGFkZXYpOworCisJcmV0dXJuIHRydWU7CiB9CiAKIHN0YXRp YyB2b2lkIGFtZGdwdV9kZXZpY2VfdW5sb2NrX2FkZXYoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYpCkBAIC0zNTM4LDQwICszNTIxLDQyIEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9kZXZpY2VfdW5s b2NrX2FkZXYoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiBpbnQgYW1kZ3B1X2RldmljZV9n cHVfcmVjb3ZlcihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAkJCSAgICAgIHN0cnVjdCBh bWRncHVfam9iICpqb2IpCiB7Ci0JaW50IHI7CisJc3RydWN0IGxpc3RfaGVhZCBkZXZpY2VfbGlz dCwgKmRldmljZV9saXN0X2hhbmRsZSA9ICBOVUxMOworCWJvb2wgbmVlZF9mdWxsX3Jlc2V0LCBq b2Jfc2lnbmFsZWQ7CiAJc3RydWN0IGFtZGdwdV9oaXZlX2luZm8gKmhpdmUgPSBOVUxMOwotCWJv b2wgbmVlZF9mdWxsX3Jlc2V0ID0gZmFsc2U7CiAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKnRtcF9h ZGV2ID0gTlVMTDsKLQlzdHJ1Y3QgbGlzdF9oZWFkIGRldmljZV9saXN0LCAqZGV2aWNlX2xpc3Rf aGFuZGxlID0gIE5VTEw7CisJaW50IGksIHIgPSAwOwogCisJbmVlZF9mdWxsX3Jlc2V0ID0gam9i X3NpZ25hbGVkID0gZmFsc2U7CiAJSU5JVF9MSVNUX0hFQUQoJmRldmljZV9saXN0KTsKIAogCWRl dl9pbmZvKGFkZXYtPmRldiwgIkdQVSByZXNldCBiZWdpbiFcbiIpOwogCisJaGl2ZSA9IGFtZGdw dV9nZXRfeGdtaV9oaXZlKGFkZXYsIGZhbHNlKTsKKwogCS8qCi0JICogSW4gY2FzZSBvZiBYR01J IGhpdmUgZGlzYWxsb3cgY29uY3VycmVudCByZXNldHMgdG8gYmUgdHJpZ2dlcmVkCi0JICogYnkg ZGlmZmVyZW50IG5vZGVzLiBObyBwb2ludCBhbHNvIHNpbmNlIHRoZSBvbmUgbm9kZSBhbHJlYWR5 IGV4ZWN1dGluZwotCSAqIHJlc2V0IHdpbGwgYWxzbyByZXNldCBhbGwgdGhlIG90aGVyIG5vZGVz IGluIHRoZSBoaXZlLgorCSAqIEhlcmUgd2UgdHJ5bG9jayB0byBhdm9pZCBjaGFpbiBvZiByZXNl dHMgZXhlY3V0aW5nIGZyb20KKwkgKiBlaXRoZXIgdHJpZ2dlciBieSBqb2JzIG9uIGRpZmZlcmVu dCBhZGV2cyBpbiBYR01JIGhpdmUgb3Igam9icyBvbgorCSAqIGRpZmZlcmVudCBzY2hlZHVsZXJz IGZvciBzYW1lIGRldmljZSB3aGlsZSB0aGlzIFRPIGhhbmRsZXIgaXMgcnVubmluZy4KKwkgKiBX ZSBhbHdheXMgcmVzZXQgYWxsIHNjaGVkdWxlcnMgZm9yIGRldmljZSBhbmQgYWxsIGRldmljZXMg Zm9yIFhHTUkKKwkgKiBoaXZlIHNvIHRoYXQgc2hvdWxkIHRha2UgY2FyZSBvZiB0aGVtIHRvby4K IAkgKi8KLQloaXZlID0gYW1kZ3B1X2dldF94Z21pX2hpdmUoYWRldiwgMCk7Ci0JaWYgKGhpdmUg JiYgYWRldi0+Z21jLnhnbWkubnVtX3BoeXNpY2FsX25vZGVzID4gMSAmJgotCSAgICAhbXV0ZXhf dHJ5bG9jaygmaGl2ZS0+cmVzZXRfbG9jaykpCisKKwlpZiAoaGl2ZSAmJiAhbXV0ZXhfdHJ5bG9j aygmaGl2ZS0+cmVzZXRfbG9jaykpIHsKKwkJRFJNX0lORk8oIkJhaWxpbmcgb24gVERSIGZvciBz X2pvYjolbGx4LCBoaXZlOiAlbGx4IGFzIGFub3RoZXIgYWxyZWFkeSBpbiBwcm9ncmVzcyIsCisJ CQkgam9iLT5iYXNlLmlkLCBoaXZlLT5oaXZlX2lkKTsKIAkJcmV0dXJuIDA7CisJfQogCiAJLyog U3RhcnQgd2l0aCBhZGV2IHByZSBhc2ljIHJlc2V0IGZpcnN0IGZvciBzb2Z0IHJlc2V0IGNoZWNr LiovCi0JYW1kZ3B1X2RldmljZV9sb2NrX2FkZXYoYWRldik7Ci0JciA9IGFtZGdwdV9kZXZpY2Vf cHJlX2FzaWNfcmVzZXQoYWRldiwKLQkJCQkJIGpvYiwKLQkJCQkJICZuZWVkX2Z1bGxfcmVzZXQp OwotCWlmIChyKSB7Ci0JCS8qVE9ETyBTaG91bGQgd2Ugc3RvcCA/Ki8KLQkJRFJNX0VSUk9SKCJH UFUgcHJlIGFzaWMgcmVzZXQgZmFpbGVkIHdpdGggZXJyLCAlZCBmb3IgZHJtIGRldiwgJXMgIiwK LQkJCSAgciwgYWRldi0+ZGRldi0+dW5pcXVlKTsKLQkJYWRldi0+YXNpY19yZXNldF9yZXMgPSBy OworCWlmICghYW1kZ3B1X2RldmljZV9sb2NrX2FkZXYoYWRldiwgIWhpdmUpKSB7CisJCURSTV9J TkZPKCJCYWlsaW5nIG9uIFREUiBmb3Igc19qb2I6JWxseCwgYXMgYW5vdGhlciBhbHJlYWR5IGlu IHByb2dyZXNzIiwKKwkJCQkJIGpvYi0+YmFzZS5pZCk7CisJCXJldHVybiAwOwogCX0KIAogCS8q IEJ1aWxkIGxpc3Qgb2YgZGV2aWNlcyB0byByZXNldCAqLwotCWlmICAobmVlZF9mdWxsX3Jlc2V0 ICYmIGFkZXYtPmdtYy54Z21pLm51bV9waHlzaWNhbF9ub2RlcyA+IDEpIHsKKwlpZiAgKGFkZXYt PmdtYy54Z21pLm51bV9waHlzaWNhbF9ub2RlcyA+IDEpIHsKIAkJaWYgKCFoaXZlKSB7CiAJCQlh bWRncHVfZGV2aWNlX3VubG9ja19hZGV2KGFkZXYpOwogCQkJcmV0dXJuIC1FTk9ERVY7CkBAIC0z NTg4LDEzICszNTczLDU2IEBAIGludCBhbWRncHVfZGV2aWNlX2dwdV9yZWNvdmVyKHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2LAogCQlkZXZpY2VfbGlzdF9oYW5kbGUgPSAmZGV2aWNlX2xpc3Q7 CiAJfQogCisJLyogYmxvY2sgYWxsIHNjaGVkdWxlcnMgYW5kIHJlc2V0IGdpdmVuIGpvYidzIHJp bmcgKi8KKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHRtcF9hZGV2LCBkZXZpY2VfbGlzdF9oYW5kbGUs IGdtYy54Z21pLmhlYWQpIHsKKwkJZm9yIChpID0gMDsgaSA8IEFNREdQVV9NQVhfUklOR1M7ICsr aSkgeworCQkJc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nID0gdG1wX2FkZXYtPnJpbmdzW2ldOwor CisJCQlpZiAoIXJpbmcgfHwgIXJpbmctPnNjaGVkLnRocmVhZCkKKwkJCQljb250aW51ZTsKKwor CQkJZHJtX3NjaGVkX3N0b3AoJnJpbmctPnNjaGVkLCAmam9iLT5iYXNlKTsKKwkJfQorCX0KKwor CisJLyoKKwkgKiBNdXN0IGNoZWNrIGd1aWx0eSBzaWduYWwgaGVyZSBzaW5jZSBhZnRlciB0aGlz IHBvaW50IGFsbCBvbGQKKwkgKiBIVyBmZW5jZXMgYXJlIGZvcmNlIHNpZ25hbGVkLgorCSAqCisJ ICogam9iLT5iYXNlIGhvbGRzIGEgcmVmZXJlbmNlIHRvIHBhcmVudCBmZW5jZQorCSAqLworCWlm IChqb2IgJiYgam9iLT5iYXNlLnNfZmVuY2UtPnBhcmVudCAmJgorCSAgICBkbWFfZmVuY2VfaXNf c2lnbmFsZWQoam9iLT5iYXNlLnNfZmVuY2UtPnBhcmVudCkpCisJCWpvYl9zaWduYWxlZCA9IHRy dWU7CisKKwlpZiAoIWFtZGdwdV9kZXZpY2VfaXBfbmVlZF9mdWxsX3Jlc2V0KGFkZXYpKQorCQlk ZXZpY2VfbGlzdF9oYW5kbGUgPSAmZGV2aWNlX2xpc3Q7CisKKwlpZiAoam9iX3NpZ25hbGVkKSB7 CisJCWRldl9pbmZvKGFkZXYtPmRldiwgIkd1aWx0eSBqb2IgYWxyZWFkeSBzaWduYWxlZCwgc2tp cHBpbmcgSFcgcmVzZXQiKTsKKwkJZ290byBza2lwX2h3X3Jlc2V0OworCX0KKworCisJLyogR3Vp bHR5IGpvYiB3aWxsIGJlIGZyZWVkIGFmdGVyIHRoaXMqLworCXIgPSBhbWRncHVfZGV2aWNlX3By ZV9hc2ljX3Jlc2V0KGFkZXYsCisJCQkJCSBqb2IsCisJCQkJCSAmbmVlZF9mdWxsX3Jlc2V0KTsK KwlpZiAocikgeworCQkvKlRPRE8gU2hvdWxkIHdlIHN0b3AgPyovCisJCURSTV9FUlJPUigiR1BV IHByZSBhc2ljIHJlc2V0IGZhaWxlZCB3aXRoIGVyciwgJWQgZm9yIGRybSBkZXYsICVzICIsCisJ CQkgIHIsIGFkZXYtPmRkZXYtPnVuaXF1ZSk7CisJCWFkZXYtPmFzaWNfcmVzZXRfcmVzID0gcjsK Kwl9CisKIHJldHJ5OgkvKiBSZXN0IG9mIGFkZXZzIHByZSBhc2ljIHJlc2V0IGZyb20gWEdNSSBo aXZlLiAqLwogCWxpc3RfZm9yX2VhY2hfZW50cnkodG1wX2FkZXYsIGRldmljZV9saXN0X2hhbmRs ZSwgZ21jLnhnbWkuaGVhZCkgewogCiAJCWlmICh0bXBfYWRldiA9PSBhZGV2KQogCQkJY29udGlu dWU7CiAKLQkJYW1kZ3B1X2RldmljZV9sb2NrX2FkZXYodG1wX2FkZXYpOworCQlhbWRncHVfZGV2 aWNlX2xvY2tfYWRldih0bXBfYWRldiwgZmFsc2UpOwogCQlyID0gYW1kZ3B1X2RldmljZV9wcmVf YXNpY19yZXNldCh0bXBfYWRldiwKIAkJCQkJCSBOVUxMLAogCQkJCQkJICZuZWVkX2Z1bGxfcmVz ZXQpOwpAQCAtMzYxOCw5ICszNjQ2LDM2IEBAIGludCBhbWRncHVfZGV2aWNlX2dwdV9yZWNvdmVy KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCQkJZ290byByZXRyeTsKIAl9CiAKK3NraXBf aHdfcmVzZXQ6CisKIAkvKiBQb3N0IEFTSUMgcmVzZXQgZm9yIGFsbCBkZXZzIC4qLwogCWxpc3Rf Zm9yX2VhY2hfZW50cnkodG1wX2FkZXYsIGRldmljZV9saXN0X2hhbmRsZSwgZ21jLnhnbWkuaGVh ZCkgewotCQlhbWRncHVfZGV2aWNlX3Bvc3RfYXNpY19yZXNldCh0bXBfYWRldik7CisJCWZvciAo aSA9IDA7IGkgPCBBTURHUFVfTUFYX1JJTkdTOyArK2kpIHsKKwkJCXN0cnVjdCBkcm1fc2NoZWRf am9iICpzX2pvYjsKKwkJCXN0cnVjdCBhbWRncHVfcmluZyAqcmluZyA9IHRtcF9hZGV2LT5yaW5n c1tpXTsKKworCQkJaWYgKCFyaW5nIHx8ICFyaW5nLT5zY2hlZC50aHJlYWQpCisJCQkJY29udGlu dWU7CisKKwkJCS8qIE5vIHBvaW50IHRvIHJlc3VibWl0IGpvYnMgaWYgd2UgZGlkbid0IEhXIHJl c2V0Ki8KKwkJCWlmICghdG1wX2FkZXYtPmFzaWNfcmVzZXRfcmVzICYmICFqb2Jfc2lnbmFsZWQp CisJCQkJZHJtX3NjaGVkX3Jlc3VibWl0X2pvYnMoJnJpbmctPnNjaGVkKTsKKworCQkJLyogaHdf cnFfY291bnQgd2FzIGRlY3JlbWVudGVkIGluIGRybV9zY2hlZF9zb3AgKi8KKwkJCWlmIChqb2Jf c2lnbmFsZWQpIHsKKwkJCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHNfam9iLCAmcmluZy0+c2NoZWQu cmluZ19taXJyb3JfbGlzdCwgbm9kZSkgeworCQkJCQlhdG9taWNfaW5jKCZyaW5nLT5zY2hlZC5o d19ycV9jb3VudCk7CisJCQkJfQorCQkJfQorCisJCQlkcm1fc2NoZWRfc3RhcnQoJnJpbmctPnNj aGVkLCAhdG1wX2FkZXYtPmFzaWNfcmVzZXRfcmVzKTsKKwkJfQorCisJCWlmICghYW1kZ3B1X2Rl dmljZV9oYXNfZGNfc3VwcG9ydCh0bXBfYWRldikgJiYgIWpvYl9zaWduYWxlZCkgeworCQkJZHJt X2hlbHBlcl9yZXN1bWVfZm9yY2VfbW9kZSh0bXBfYWRldi0+ZGRldik7CisJCX0KKworCQl0bXBf YWRldi0+YXNpY19yZXNldF9yZXMgPSAwOwogCiAJCWlmIChyKSB7CiAJCQkvKiBiYWQgbmV3cywg aG93IHRvIHRlbGwgaXQgdG8gdXNlcnNwYWNlID8gKi8KQEAgLTM2MzMsNyArMzY4OCw3IEBAIGlu dCBhbWRncHVfZGV2aWNlX2dwdV9yZWNvdmVyKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAog CQlhbWRncHVfZGV2aWNlX3VubG9ja19hZGV2KHRtcF9hZGV2KTsKIAl9CiAKLQlpZiAoaGl2ZSAm JiBhZGV2LT5nbWMueGdtaS5udW1fcGh5c2ljYWxfbm9kZXMgPiAxKQorCWlmIChoaXZlKQogCQlt dXRleF91bmxvY2soJmhpdmUtPnJlc2V0X2xvY2spOwogCiAJaWYgKHIpCi0tIAoyLjcuNAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWls aW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4