From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: [PATCH] drm/i915: Retry on every aux read. Date: Mon, 19 Oct 2015 16:08:08 -0700 Message-ID: <1445296088-10686-1-git-send-email-rodrigo.vivi@intel.com> References: <20150826090608.GN20434@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id F40366EA30 for ; Mon, 19 Oct 2015 16:06:14 -0700 (PDT) In-Reply-To: <20150826090608.GN20434@phenom.ffwll.local> 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: Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org V2UgaGF2ZSBhbiBpbmNvbnNpc3RlbmN5IG9uIG91ciBjb2RlIG9uIHVzaW5nIGludGVsX2RwX2Rw Y2RfcmVhZF93YWtlIHdpdGgKcmV0cmllcyBhbmQgd2hlbiB1c2luZyBkcm1fZHBfZHBjZF9yZWFk IGhlbHBlciB3aXRob3V0IHJldHJ5LgoKU2luY2UgdGhlIHJldHJpZXMgaGVscCBpbiBtYW55IGNh c2VzIGxldCdzIGJlIGNvbnNpc3RlbnQgYW5kIGJlIG9uCnRoZSBzYWZlIHNpZGUgcmV0cnlpbmcg b24gZXZlcnkgYXV4IHJlYWQsIGluY2x1ZGluZyBpMmMgb25lcy4KClNvIHdlIGNhbiBraWxsIHRo ZSBpbnRlbF9kcF9kcGNkX3JlYWQgZnVuY3Rpb24gYW5kIGtlZXAgY29kZSBjb25zaXN0ZW50LgoK U2lnbmVkLW9mZi1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgfCAxMjYgKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUyIGluc2VydGlvbnMoKyks IDc0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCmluZGV4IDA5YmRkOTQuLjQ2 ZjNjMmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAtOTQ0LDcgKzk0NCw3IEBAIGludGVs X2RwX2F1eF90cmFuc2ZlcihzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LCBzdHJ1Y3QgZHJtX2RwX2F1 eF9tc2cgKm1zZykKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gY29udGFpbmVyX29mKGF1 eCwgc3RydWN0IGludGVsX2RwLCBhdXgpOwogCXVpbnQ4X3QgdHhidWZbMjBdLCByeGJ1ZlsyMF07 CiAJc2l6ZV90IHR4c2l6ZSwgcnhzaXplOwotCWludCByZXQ7CisJaW50IHJldCwgaTsKIAogCXR4 YnVmWzBdID0gKG1zZy0+cmVxdWVzdCA8PCA0KSB8CiAJCSgobXNnLT5hZGRyZXNzID4+IDE2KSAm IDB4Zik7CkBAIC05ODYsMTcgKzk4NiwyNyBAQCBpbnRlbF9kcF9hdXhfdHJhbnNmZXIoc3RydWN0 IGRybV9kcF9hdXggKmF1eCwgc3RydWN0IGRybV9kcF9hdXhfbXNnICptc2cpCiAJCWlmIChXQVJO X09OKHJ4c2l6ZSA+IDIwKSkKIAkJCXJldHVybiAtRTJCSUc7CiAKLQkJcmV0ID0gaW50ZWxfZHBf YXV4X2NoKGludGVsX2RwLCB0eGJ1ZiwgdHhzaXplLCByeGJ1ZiwgcnhzaXplKTsKLQkJaWYgKHJl dCA+IDApIHsKLQkJCW1zZy0+cmVwbHkgPSByeGJ1ZlswXSA+PiA0OwotCQkJLyoKLQkJCSAqIEFz c3VtZSBoYXBweSBkYXksIGFuZCBjb3B5IHRoZSBkYXRhLiBUaGUgY2FsbGVyIGlzCi0JCQkgKiBl eHBlY3RlZCB0byBjaGVjayBtc2ctPnJlcGx5IGJlZm9yZSB0b3VjaGluZyBpdC4KLQkJCSAqCi0J CQkgKiBSZXR1cm4gcGF5bG9hZCBzaXplLgotCQkJICovCi0JCQlyZXQtLTsKLQkJCW1lbWNweSht c2ctPmJ1ZmZlciwgcnhidWYgKyAxLCByZXQpOworCQkvKgorCQkgKiBSZWFkIHdpdGggcmV0cnkg Zm9yIGxpbmsgc3RhdHVzIGFuZCByZWNlaXZlciBjYXBhYmlsaXR5IHJlYWRzCisJCSAqIGZvciBj YXNlcyB3aGVyZSB0aGUgc2luayBtYXkgc3RpbGwgYmUgYXNsZWVwLgorCQkgKiBTaW5rcyBhcmUg KnN1cHBvc2VkKiB0byBjb21lIHVwIHdpdGhpbiAxbXMgZnJvbSBhbiBvZmYgc3RhdGUsCisJCSAq IGJ1dCB3ZSdyZSBhbHNvIHN1cHBvc2VkIHRvIHJldHJ5IDMgdGltZXMgcGVyIHRoZSBzcGVjLgor CQkgKi8KKwkJZm9yIChpID0gMCwgcmV0ID0gMDsgcmV0IDw9IDAgJiYgaSA8IDM7IGkrKykgewor CQkJcmV0ID0gaW50ZWxfZHBfYXV4X2NoKGludGVsX2RwLCB0eGJ1ZiwgdHhzaXplLAorCQkJCQkg ICAgICByeGJ1ZiwgcnhzaXplKTsKKwkJCWlmIChyZXQgPiAwKSB7CisJCQkJbXNnLT5yZXBseSA9 IHJ4YnVmWzBdID4+IDQ7CisJCQkJLyoKKwkJCQkgKiBBc3N1bWUgaGFwcHkgZGF5LCBhbmQgY29w eSB0aGUgZGF0YS4gVGhlIGNhbGxlciBpcworCQkJCSAqIGV4cGVjdGVkIHRvIGNoZWNrIG1zZy0+ cmVwbHkgYmVmb3JlIHRvdWNoaW5nIGl0LgorCQkJCSAqCisJCQkJICogUmV0dXJuIHBheWxvYWQg c2l6ZS4KKwkJCQkgKi8KKwkJCQlyZXQtLTsKKwkJCQltZW1jcHkobXNnLT5idWZmZXIsIHJ4YnVm ICsgMSwgcmV0KTsKKwkJCX0gZWxzZQorCQkJCW1zbGVlcCgxKTsKIAkJfQogCQlicmVhazsKIApA QCAtMzAxMiw0NyArMzAyMiwxNiBAQCBzdGF0aWMgdm9pZCBjaHZfZHBfcG9zdF9wbGxfZGlzYWJs ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIH0KIAogLyoKLSAqIE5hdGl2ZSByZWFk IHdpdGggcmV0cnkgZm9yIGxpbmsgc3RhdHVzIGFuZCByZWNlaXZlciBjYXBhYmlsaXR5IHJlYWRz IGZvcgotICogY2FzZXMgd2hlcmUgdGhlIHNpbmsgbWF5IHN0aWxsIGJlIGFzbGVlcC4KLSAqCi0g KiBTaW5rcyBhcmUgKnN1cHBvc2VkKiB0byBjb21lIHVwIHdpdGhpbiAxbXMgZnJvbSBhbiBvZmYg c3RhdGUsIGJ1dCB3ZSdyZSBhbHNvCi0gKiBzdXBwb3NlZCB0byByZXRyeSAzIHRpbWVzIHBlciB0 aGUgc3BlYy4KLSAqLwotc3RhdGljIHNzaXplX3QKLWludGVsX2RwX2RwY2RfcmVhZF93YWtlKHN0 cnVjdCBkcm1fZHBfYXV4ICphdXgsIHVuc2lnbmVkIGludCBvZmZzZXQsCi0JCQl2b2lkICpidWZm ZXIsIHNpemVfdCBzaXplKQotewotCXNzaXplX3QgcmV0OwotCWludCBpOwotCi0JLyoKLQkgKiBT b21ldGltZSB3ZSBqdXN0IGdldCB0aGUgc2FtZSBpbmNvcnJlY3QgYnl0ZSByZXBlYXRlZAotCSAq IG92ZXIgdGhlIGVudGlyZSBidWZmZXIuIERvaW5nIGp1c3Qgb25lIHRocm93IGF3YXkgcmVhZAot CSAqIGluaXRpYWxseSBzZWVtcyB0byAic29sdmUiIGl0LgotCSAqLwotCWRybV9kcF9kcGNkX3Jl YWQoYXV4LCBEUF9EUENEX1JFViwgYnVmZmVyLCAxKTsKLQotCWZvciAoaSA9IDA7IGkgPCAzOyBp KyspIHsKLQkJcmV0ID0gZHJtX2RwX2RwY2RfcmVhZChhdXgsIG9mZnNldCwgYnVmZmVyLCBzaXpl KTsKLQkJaWYgKHJldCA9PSBzaXplKQotCQkJcmV0dXJuIHJldDsKLQkJbXNsZWVwKDEpOwotCX0K LQotCXJldHVybiByZXQ7Ci19Ci0KLS8qCiAgKiBGZXRjaCBBVVggQ0ggcmVnaXN0ZXJzIDB4MjAy IC0gMHgyMDcgd2hpY2ggY29udGFpbgogICogbGluayBzdGF0dXMgaW5mb3JtYXRpb24KICAqLwog c3RhdGljIGJvb2wKIGludGVsX2RwX2dldF9saW5rX3N0YXR1cyhzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwLCB1aW50OF90IGxpbmtfc3RhdHVzW0RQX0xJTktfU1RBVFVTX1NJWkVdKQogewotCXJl dHVybiBpbnRlbF9kcF9kcGNkX3JlYWRfd2FrZSgmaW50ZWxfZHAtPmF1eCwKLQkJCQkgICAgICAg RFBfTEFORTBfMV9TVEFUVVMsCi0JCQkJICAgICAgIGxpbmtfc3RhdHVzLAotCQkJCSAgICAgICBE UF9MSU5LX1NUQVRVU19TSVpFKSA9PSBEUF9MSU5LX1NUQVRVU19TSVpFOworCXJldHVybiBkcm1f ZHBfZHBjZF9yZWFkKCZpbnRlbF9kcC0+YXV4LAorCQkJCURQX0xBTkUwXzFfU1RBVFVTLAorCQkJ CWxpbmtfc3RhdHVzLAorCQkJCURQX0xJTktfU1RBVFVTX1NJWkUpID09IERQX0xJTktfU1RBVFVT X1NJWkU7CiB9CiAKIC8qIFRoZXNlIGFyZSBzb3VyY2Utc3BlY2lmaWMgdmFsdWVzLiAqLwpAQCAt Mzk3OSw4ICszOTU4LDggQEAgaW50ZWxfZHBfZ2V0X2RwY2Qoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2 YXRlOwogCXVpbnQ4X3QgcmV2OwogCi0JaWYgKGludGVsX2RwX2RwY2RfcmVhZF93YWtlKCZpbnRl bF9kcC0+YXV4LCAweDAwMCwgaW50ZWxfZHAtPmRwY2QsCi0JCQkJICAgIHNpemVvZihpbnRlbF9k cC0+ZHBjZCkpIDwgMCkKKwlpZiAoZHJtX2RwX2RwY2RfcmVhZCgmaW50ZWxfZHAtPmF1eCwgMHgw MDAsIGludGVsX2RwLT5kcGNkLAorCQkJICAgICBzaXplb2YoaW50ZWxfZHAtPmRwY2QpKSA8IDAp CiAJCXJldHVybiBmYWxzZTsgLyogYXV4IHRyYW5zZmVyIGZhaWxlZCAqLwogCiAJRFJNX0RFQlVH X0tNUygiRFBDRDogJSpwaFxuIiwgKGludCkgc2l6ZW9mKGludGVsX2RwLT5kcGNkKSwgaW50ZWxf ZHAtPmRwY2QpOwpAQCAtMzk5MSw5ICszOTcwLDkgQEAgaW50ZWxfZHBfZ2V0X2RwY2Qoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCkKIAkvKiBDaGVjayBpZiB0aGUgcGFuZWwgc3VwcG9ydHMgUFNS ICovCiAJbWVtc2V0KGludGVsX2RwLT5wc3JfZHBjZCwgMCwgc2l6ZW9mKGludGVsX2RwLT5wc3Jf ZHBjZCkpOwogCWlmIChpc19lZHAoaW50ZWxfZHApKSB7Ci0JCWludGVsX2RwX2RwY2RfcmVhZF93 YWtlKCZpbnRlbF9kcC0+YXV4LCBEUF9QU1JfU1VQUE9SVCwKLQkJCQkJaW50ZWxfZHAtPnBzcl9k cGNkLAotCQkJCQlzaXplb2YoaW50ZWxfZHAtPnBzcl9kcGNkKSk7CisJCWRybV9kcF9kcGNkX3Jl YWQoJmludGVsX2RwLT5hdXgsIERQX1BTUl9TVVBQT1JULAorCQkJCSBpbnRlbF9kcC0+cHNyX2Rw Y2QsCisJCQkJIHNpemVvZihpbnRlbF9kcC0+cHNyX2RwY2QpKTsKIAkJaWYgKGludGVsX2RwLT5w c3JfZHBjZFswXSAmIERQX1BTUl9JU19TVVBQT1JURUQpIHsKIAkJCWRldl9wcml2LT5wc3Iuc2lu a19zdXBwb3J0ID0gdHJ1ZTsKIAkJCURSTV9ERUJVR19LTVMoIkRldGVjdGVkIEVEUCBQU1IgUGFu ZWwuXG4iKTsKQEAgLTQwMDQsOSArMzk4Myw5IEBAIGludGVsX2RwX2dldF9kcGNkKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHApCiAJCQl1aW50OF90IGZyYW1lX3N5bmNfY2FwOwogCiAJCQlkZXZf cHJpdi0+cHNyLnNpbmtfc3VwcG9ydCA9IHRydWU7Ci0JCQlpbnRlbF9kcF9kcGNkX3JlYWRfd2Fr ZSgmaW50ZWxfZHAtPmF1eCwKLQkJCQkJRFBfU0lOS19ERVZJQ0VfQVVYX0ZSQU1FX1NZTkNfQ0FQ LAotCQkJCQkmZnJhbWVfc3luY19jYXAsIDEpOworCQkJZHJtX2RwX2RwY2RfcmVhZGIoJmludGVs X2RwLT5hdXgsCisJCQkJCSAgRFBfU0lOS19ERVZJQ0VfQVVYX0ZSQU1FX1NZTkNfQ0FQLAorCQkJ CQkgICZmcmFtZV9zeW5jX2NhcCk7CiAJCQlkZXZfcHJpdi0+cHNyLmF1eF9mcmFtZV9zeW5jID0g ZnJhbWVfc3luY19jYXAgPyB0cnVlIDogZmFsc2U7CiAJCQkvKiBQU1IyIG5lZWRzIGZyYW1lIHN5 bmMgYXMgd2VsbCAqLwogCQkJZGV2X3ByaXYtPnBzci5wc3IyX3N1cHBvcnQgPSBkZXZfcHJpdi0+ cHNyLmF1eF9mcmFtZV9zeW5jOwpAQCAtNDAyMiwxNSArNDAwMSwxNSBAQCBpbnRlbF9kcF9nZXRf ZHBjZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCS8qIEludGVybWVkaWF0ZSBmcmVxdWVu Y3kgc3VwcG9ydCAqLwogCWlmIChpc19lZHAoaW50ZWxfZHApICYmCiAJICAgIChpbnRlbF9kcC0+ ZHBjZFtEUF9FRFBfQ09ORklHVVJBVElPTl9DQVBdICYJRFBfRFBDRF9ESVNQTEFZX0NPTlRST0xf Q0FQQUJMRSkgJiYKLQkgICAgKGludGVsX2RwX2RwY2RfcmVhZF93YWtlKCZpbnRlbF9kcC0+YXV4 LCBEUF9FRFBfRFBDRF9SRVYsICZyZXYsIDEpID09IDEpICYmCisJICAgIChkcm1fZHBfZHBjZF9y ZWFkYigmaW50ZWxfZHAtPmF1eCwgRFBfRURQX0RQQ0RfUkVWLCAmcmV2KSA9PSAxKSAmJgogCSAg ICAocmV2ID49IDB4MDMpKSB7IC8qIGVEcCB2MS40IG9yIGhpZ2hlciAqLwogCQlfX2xlMTYgc2lu a19yYXRlc1tEUF9NQVhfU1VQUE9SVEVEX1JBVEVTXTsKIAkJaW50IGk7CiAKLQkJaW50ZWxfZHBf ZHBjZF9yZWFkX3dha2UoJmludGVsX2RwLT5hdXgsCi0JCQkJRFBfU1VQUE9SVEVEX0xJTktfUkFU RVMsCi0JCQkJc2lua19yYXRlcywKLQkJCQlzaXplb2Yoc2lua19yYXRlcykpOworCQlkcm1fZHBf ZHBjZF9yZWFkKCZpbnRlbF9kcC0+YXV4LAorCQkJCSBEUF9TVVBQT1JURURfTElOS19SQVRFUywK KwkJCQkgc2lua19yYXRlcywKKwkJCQkgc2l6ZW9mKHNpbmtfcmF0ZXMpKTsKIAogCQlmb3IgKGkg PSAwOyBpIDwgQVJSQVlfU0laRShzaW5rX3JhdGVzKTsgaSsrKSB7CiAJCQlpbnQgdmFsID0gbGUx Nl90b19jcHUoc2lua19yYXRlc1tpXSk7CkBAIC00MDUzLDkgKzQwMzIsOSBAQCBpbnRlbF9kcF9n ZXRfZHBjZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCWlmIChpbnRlbF9kcC0+ZHBjZFtE UF9EUENEX1JFVl0gPT0gMHgxMCkKIAkJcmV0dXJuIHRydWU7IC8qIG5vIHBlci1wb3J0IGRvd25z dHJlYW0gaW5mbyAqLwogCi0JaWYgKGludGVsX2RwX2RwY2RfcmVhZF93YWtlKCZpbnRlbF9kcC0+ YXV4LCBEUF9ET1dOU1RSRUFNX1BPUlRfMCwKLQkJCQkgICAgaW50ZWxfZHAtPmRvd25zdHJlYW1f cG9ydHMsCi0JCQkJICAgIERQX01BWF9ET1dOU1RSRUFNX1BPUlRTKSA8IDApCisJaWYgKGRybV9k cF9kcGNkX3JlYWQoJmludGVsX2RwLT5hdXgsIERQX0RPV05TVFJFQU1fUE9SVF8wLAorCQkJICAg ICBpbnRlbF9kcC0+ZG93bnN0cmVhbV9wb3J0cywKKwkJCSAgICAgRFBfTUFYX0RPV05TVFJFQU1f UE9SVFMpIDwgMCkKIAkJcmV0dXJuIGZhbHNlOyAvKiBkb3duc3RyZWFtIHBvcnQgc3RhdHVzIGZl dGNoIGZhaWxlZCAqLwogCiAJcmV0dXJuIHRydWU7CkBAIC00MDY5LDExICs0MDQ4LDExIEBAIGlu dGVsX2RwX3Byb2JlX291aShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCWlmICghKGludGVs X2RwLT5kcGNkW0RQX0RPV05fU1RSRUFNX1BPUlRfQ09VTlRdICYgRFBfT1VJX1NVUFBPUlQpKQog CQlyZXR1cm47CiAKLQlpZiAoaW50ZWxfZHBfZHBjZF9yZWFkX3dha2UoJmludGVsX2RwLT5hdXgs IERQX1NJTktfT1VJLCBidWYsIDMpID09IDMpCisJaWYgKGRybV9kcF9kcGNkX3JlYWQoJmludGVs X2RwLT5hdXgsIERQX1NJTktfT1VJLCBidWYsIDMpID09IDMpCiAJCURSTV9ERUJVR19LTVMoIlNp bmsgT1VJOiAlMDJoeCUwMmh4JTAyaHhcbiIsCiAJCQkgICAgICBidWZbMF0sIGJ1ZlsxXSwgYnVm WzJdKTsKIAotCWlmIChpbnRlbF9kcF9kcGNkX3JlYWRfd2FrZSgmaW50ZWxfZHAtPmF1eCwgRFBf QlJBTkNIX09VSSwgYnVmLCAzKSA9PSAzKQorCWlmIChkcm1fZHBfZHBjZF9yZWFkKCZpbnRlbF9k cC0+YXV4LCBEUF9CUkFOQ0hfT1VJLCBidWYsIDMpID09IDMpCiAJCURSTV9ERUJVR19LTVMoIkJy YW5jaCBPVUk6ICUwMmh4JTAyaHglMDJoeFxuIiwKIAkJCSAgICAgIGJ1ZlswXSwgYnVmWzFdLCBi dWZbMl0pOwogfQpAQCAtNDA4OSw3ICs0MDY4LDcgQEAgaW50ZWxfZHBfcHJvYmVfbXN0KHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJaWYgKGludGVsX2RwLT5kcGNkW0RQX0RQQ0RfUkVWXSA8 IDB4MTIpCiAJCXJldHVybiBmYWxzZTsKIAotCWlmIChpbnRlbF9kcF9kcGNkX3JlYWRfd2FrZSgm aW50ZWxfZHAtPmF1eCwgRFBfTVNUTV9DQVAsIGJ1ZiwgMSkpIHsKKwlpZiAoZHJtX2RwX2RwY2Rf cmVhZGIoJmludGVsX2RwLT5hdXgsIERQX01TVE1fQ0FQLCBidWYpKSB7CiAJCWlmIChidWZbMF0g JiBEUF9NU1RfQ0FQKSB7CiAJCQlEUk1fREVCVUdfS01TKCJTaW5rIGlzIE1TVCBjYXBhYmxlXG4i KTsKIAkJCWludGVsX2RwLT5pc19tc3QgPSB0cnVlOwpAQCAtNDIyOCw5ICs0MjA3LDkgQEAgc3Rv cDoKIHN0YXRpYyBib29sCiBpbnRlbF9kcF9nZXRfc2lua19pcnEoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCwgdTggKnNpbmtfaXJxX3ZlY3RvcikKIHsKLQlyZXR1cm4gaW50ZWxfZHBfZHBjZF9y ZWFkX3dha2UoJmludGVsX2RwLT5hdXgsCi0JCQkJICAgICAgIERQX0RFVklDRV9TRVJWSUNFX0lS UV9WRUNUT1IsCi0JCQkJICAgICAgIHNpbmtfaXJxX3ZlY3RvciwgMSkgPT0gMTsKKwlyZXR1cm4g ZHJtX2RwX2RwY2RfcmVhZGIoJmludGVsX2RwLT5hdXgsCisJCQkJIERQX0RFVklDRV9TRVJWSUNF X0lSUV9WRUNUT1IsCisJCQkJIHNpbmtfaXJxX3ZlY3RvcikgPT0gMTsKIH0KIAogc3RhdGljIGJv b2wKQEAgLTQyMzgsOSArNDIxNyw5IEBAIGludGVsX2RwX2dldF9zaW5rX2lycV9lc2koc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCwgdTggKnNpbmtfaXJxX3ZlY3RvcikKIHsKIAlpbnQgcmV0Owog Ci0JcmV0ID0gaW50ZWxfZHBfZHBjZF9yZWFkX3dha2UoJmludGVsX2RwLT5hdXgsCi0JCQkJCSAg ICAgRFBfU0lOS19DT1VOVF9FU0ksCi0JCQkJCSAgICAgc2lua19pcnFfdmVjdG9yLCAxNCk7CisJ cmV0ID0gZHJtX2RwX2RwY2RfcmVhZCgmaW50ZWxfZHAtPmF1eCwKKwkJCSAgICAgICBEUF9TSU5L X0NPVU5UX0VTSSwKKwkJCSAgICAgICBzaW5rX2lycV92ZWN0b3IsIDE0KTsKIAlpZiAocmV0ICE9 IDE0KQogCQlyZXR1cm4gZmFsc2U7CiAKQEAgLTQ0OTYsOCArNDQ3NSw3IEBAIGludGVsX2RwX2Rl dGVjdF9kcGNkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJICAgIGludGVsX2RwLT5kb3du c3RyZWFtX3BvcnRzWzBdICYgRFBfRFNfUE9SVF9IUEQpIHsKIAkJdWludDhfdCByZWc7CiAKLQkJ aWYgKGludGVsX2RwX2RwY2RfcmVhZF93YWtlKCZpbnRlbF9kcC0+YXV4LCBEUF9TSU5LX0NPVU5U LAotCQkJCQkgICAgJnJlZywgMSkgPCAwKQorCQlpZiAoZHJtX2RwX2RwY2RfcmVhZGIoJmludGVs X2RwLT5hdXgsIERQX1NJTktfQ09VTlQsICZyZWcpIDwgMCkKIAkJCXJldHVybiBjb25uZWN0b3Jf c3RhdHVzX3Vua25vd247CiAKIAkJcmV0dXJuIERQX0dFVF9TSU5LX0NPVU5UKHJlZykgPyBjb25u ZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZAotLSAKMi40LjMKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==