From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id C7BCB891C3 for ; Tue, 9 Apr 2019 14:08:46 +0000 (UTC) From: Stanislav Lisovskiy Date: Tue, 9 Apr 2019 17:08:28 +0300 Message-Id: <20190409140828.20625-3-stanislav.lisovskiy@intel.com> In-Reply-To: <20190409140828.20625-1-stanislav.lisovskiy@intel.com> References: <20190409140828.20625-1-stanislav.lisovskiy@intel.com> Subject: [igt-dev] [PATCH i-g-t v7 2/2] igt/tests/kms_atomic_transition: Tolerate if can't have all planes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: stanislav.lisovskiy@intel.com, ville.syrjala@intel.com, martin.peres@intel.com List-ID: V2l0aCBzb21lIHVwY29taW5nIGNoYW5nZXMgaTkxNSBtaWdodCBub3QgYWxsb3cKYWxsIHNwcml0 ZSBwbGFuZXMgZW5hYmxlZCwgZGVwZW5kaW5nIG9uIGF2YWlsYWJsZQpiYW5kd2lkdGggbGltaXRh dGlvbi4gVGh1cyB0aGUgdGVzdCBuZWVkIHRvIGRlY3JlbWVudAphbW91bnQgb2YgcGxhbmVzIGFu ZCB0cnkgYWdhaW4sIGluc3RlYWQgb2YgcGFuaWNraW5nLgoKdjI6IFJlbW92ZWQgZXhjZXNzaXZl IG5lc3RlZCBjb25kaXRpb25zLCBtYWtpbmcgY29kZSBhIGJpdAogICAgbW9yZSByZWFkYWJsZSho b3BlZnVsbHkpLgoKdjM6IFN0b3BwZWQgdXNpbmcgZ2xvYmFsIG5fcGxhbmVzIHZhcmlhYmxlIGFz IGl0IG1pZ2h0IGNhdXNlCiAgICByZXNvdXJjZXMgYmVpbmcgdW5yZWxlYXNlZC4KICAgIFVzaW5n IG5vdyBwYXJtc1tpXS5tYXNrIGFzIGEgd2F5IHRvIGRldGVybWluZSBpZiBwbGFuZQogICAgaGFz IHRvIGJlIGluY2x1ZGVkIGludG8gY29tbWl0LgoKdjQ6IFJlbW92ZWQgdW5uZWVkZWQgbl9vdmVy bGF5cyBpbml0aWFsaXphdGlvbi4KCnY1OiBSYW5kb21pemUgd2hpY2ggb2Ygc3ByaXRlIHBsYW5l cyB0byByZW1vdmUgaWYgaGl0dGluZwogICAgcmVzb3VyY2UgbGltaXRzLgoKdjY6IFJlcGxhY2Ug aWd0X3dhcm4gd2l0aCBpZ3RfaW5mbywgdG8gbWFrZSBJR1QgdGVzdHMgaGFwcGllci4KCnY3OiBS ZW1vdmVkIHVubmVlZGVkIHJldHJ5IGxvZ2ljLCBtYWRlIHBsYW5lIHJhbmRvbSByZW1vdmFsIHNp bXBsaWVyLgogICAgR3JlYXQgdGhhbmtzIHRvIE1hYXJ0ZW4gTGFua2hvcnN0IGZvciBzdWdnZXN0 aW9ucy4KClNpZ25lZC1vZmYtYnk6IFN0YW5pc2xhdiBMaXNvdnNraXkgPHN0YW5pc2xhdi5saXNv dnNraXlAaW50ZWwuY29tPgotLS0KIHRlc3RzL2ttc19hdG9taWNfdHJhbnNpdGlvbi5jIHwgMTMz ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA3OSBp bnNlcnRpb25zKCspLCA1NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90ZXN0cy9rbXNfYXRv bWljX3RyYW5zaXRpb24uYyBiL3Rlc3RzL2ttc19hdG9taWNfdHJhbnNpdGlvbi5jCmluZGV4IDYz OGZlMTdlLi40YjUzMGU1NiAxMDA2NDQKLS0tIGEvdGVzdHMva21zX2F0b21pY190cmFuc2l0aW9u LmMKKysrIGIvdGVzdHMva21zX2F0b21pY190cmFuc2l0aW9uLmMKQEAgLTE4NCw2ICsxODQsOSBA QCBzdGF0aWMgdm9pZCBzZXRfc3ByaXRlX3doKGlndF9kaXNwbGF5X3QgKmRpc3BsYXksIGVudW0g cGlwZSBwaXBlLAogCQkgICAgcGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SKQog CQkJY29udGludWU7CiAKKwkJaWYgKCFwYXJtc1tpXS5tYXNrKQorCQkJY29udGludWU7CisKIAkJ cGFybXNbaV0ud2lkdGggPSB3OwogCQlwYXJtc1tpXS5oZWlnaHQgPSBoOwogCX0KQEAgLTIxMiw5 ICsyMTUsMTAgQEAgc3RhdGljIHZvaWQgc2V0dXBfcGFybXMoaWd0X2Rpc3BsYXlfdCAqZGlzcGxh eSwgZW51bSBwaXBlIHBpcGUsCiAJdW5zaWduZWQgc3ByaXRlX3dpZHRoLCBzcHJpdGVfaGVpZ2h0 LCBwcmV2X3csIHByZXZfaDsKIAlib29sIG1heF9zcHJpdGVfd2lkdGgsIG1heF9zcHJpdGVfaGVp Z2h0LCBhbHBoYSA9IHRydWU7CiAJdWludDMyX3Qgbl9wbGFuZXMgPSBkaXNwbGF5LT5waXBlc1tw aXBlXS5uX3BsYW5lczsKLQl1aW50MzJfdCBuX292ZXJsYXlzID0gMCwgb3ZlcmxheXNbbl9wbGFu ZXNdOwotCWlndF9wbGFuZV90ICpwbGFuZTsKLQl1aW50MzJfdCBpdGVyX21hc2sgPSAzOworCXVp bnQzMl90IG5fb3ZlcmxheXMsIG92ZXJsYXlzW25fcGxhbmVzXTsKKwlpZ3RfcGxhbmVfdCAqcGxh bmUsICpwcmltYXJ5LCAqY3Vyc29yOworCXVpbnQzMl90IGl0ZXJfbWFzazsKKwlpbnQgcmV0ID0g MDsKIAogCWRvX29yX2RpZShkcm1HZXRDYXAoZGlzcGxheS0+ZHJtX2ZkLCBEUk1fQ0FQX0NVUlNP Ul9XSURUSCwgJmN1cnNvcl93aWR0aCkpOwogCWlmIChjdXJzb3Jfd2lkdGggPj0gbW9kZS0+aGRp c3BsYXkpCkBAIC0yMjQsNiArMjI4LDkgQEAgc3RhdGljIHZvaWQgc2V0dXBfcGFybXMoaWd0X2Rp c3BsYXlfdCAqZGlzcGxheSwgZW51bSBwaXBlIHBpcGUsCiAJaWYgKGN1cnNvcl9oZWlnaHQgPj0g bW9kZS0+dmRpc3BsYXkpCiAJCWN1cnNvcl9oZWlnaHQgPSBtb2RlLT52ZGlzcGxheTsKIAorCW5f b3ZlcmxheXMgPSAwOworCWl0ZXJfbWFzayA9IDM7CisKIAlmb3JfZWFjaF9wbGFuZV9vbl9waXBl KGRpc3BsYXksIHBpcGUsIHBsYW5lKSB7CiAJCWludCBpID0gcGxhbmUtPmluZGV4OwogCkBAIC0y MzIsMTcgKzIzOSwxNyBAQCBzdGF0aWMgdm9pZCBzZXR1cF9wYXJtcyhpZ3RfZGlzcGxheV90ICpk aXNwbGF5LCBlbnVtIHBpcGUgcGlwZSwKIAkJCXBhcm1zW2ldLndpZHRoID0gbW9kZS0+aGRpc3Bs YXk7CiAJCQlwYXJtc1tpXS5oZWlnaHQgPSBtb2RlLT52ZGlzcGxheTsKIAkJCXBhcm1zW2ldLm1h c2sgPSAxIDw8IDA7CisJCQlwcmltYXJ5ID0gcGxhbmU7CiAJCX0gZWxzZSBpZiAocGxhbmUtPnR5 cGUgPT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SKSB7CiAJCQlwYXJtc1tpXS5mYiA9IGFyZ2JfZmI7 CiAJCQlwYXJtc1tpXS53aWR0aCA9IGN1cnNvcl93aWR0aDsKIAkJCXBhcm1zW2ldLmhlaWdodCA9 IGN1cnNvcl9oZWlnaHQ7CiAJCQlwYXJtc1tpXS5tYXNrID0gMSA8PCAxOworCQkJY3Vyc29yID0g cGxhbmU7CiAJCX0gZWxzZSB7CiAJCQlwYXJtc1tpXS5mYiA9IHNwcml0ZV9mYjsKIAkJCXBhcm1z W2ldLm1hc2sgPSAxIDw8IDI7Ci0KIAkJCWl0ZXJfbWFzayB8PSAxIDw8IDI7Ci0KIAkJCW92ZXJs YXlzW25fb3ZlcmxheXMrK10gPSBpOwogCQl9CiAJfQpAQCAtMjc4LDE2ICsyODUsMTMgQEAgc3Rh dGljIHZvaWQgc2V0dXBfcGFybXMoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgZW51bSBwaXBlIHBp cGUsCiAJICogUHJlIGdlbjkgbm90IGFsbCBzaXplcyBhcmUgc3VwcG9ydGVkLCBmaW5kIHRoZSBi aWdnZXN0IHBvc3NpYmxlCiAJICogc2l6ZSB0aGF0IGNhbiBiZSBlbmFibGVkIG9uIGFsbCBzcHJp dGUgcGxhbmVzLgogCSAqLwotcmV0cnk6CiAJcHJldl93ID0gc3ByaXRlX3dpZHRoID0gY3Vyc29y X3dpZHRoOwogCXByZXZfaCA9IHNwcml0ZV9oZWlnaHQgPSBjdXJzb3JfaGVpZ2h0OwogCiAJbWF4 X3Nwcml0ZV93aWR0aCA9IChzcHJpdGVfd2lkdGggPT0gbW9kZS0+aGRpc3BsYXkpOwogCW1heF9z cHJpdGVfaGVpZ2h0ID0gKHNwcml0ZV9oZWlnaHQgPT0gbW9kZS0+dmRpc3BsYXkpOwogCi0Jd2hp bGUgKDEpIHsKLQkJaW50IHJldDsKLQorCXdoaWxlICghbWF4X3Nwcml0ZV93aWR0aCAmJiAhbWF4 X3Nwcml0ZV9oZWlnaHQpIHsKIAkJc2V0X3Nwcml0ZV93aChkaXNwbGF5LCBwaXBlLCBwYXJtcywg c3ByaXRlX2ZiLAogCQkJICAgICAgYWxwaGEsIHNwcml0ZV93aWR0aCwgc3ByaXRlX2hlaWdodCk7 CiAKQEAgLTI5NSw1NiArMjk5LDc4IEBAIHJldHJ5OgogCQlyZXQgPSBpZ3RfZGlzcGxheV90cnlf Y29tbWl0X2F0b21pYyhkaXNwbGF5LCBEUk1fTU9ERV9BVE9NSUNfVEVTVF9PTkxZIHwgRFJNX01P REVfQVRPTUlDX0FMTE9XX01PREVTRVQsIE5VTEwpOwogCQlpZ3RfYXNzZXJ0KCFpc19hdG9taWNf Y2hlY2tfZmFpbHVyZV9lcnJubyhyZXQpKTsKIAotCQlpZiAoaXNfYXRvbWljX2NoZWNrX3BsYW5l X3NpemVfZXJybm8ocmV0KSkgewotCQkJaWYgKGN1cnNvcl93aWR0aCA9PSBzcHJpdGVfd2lkdGgg JiYKLQkJCSAgICBjdXJzb3JfaGVpZ2h0ID09IHNwcml0ZV9oZWlnaHQpIHsKLQkJCQlpZ3RfYXNz ZXJ0X2YoYWxwaGEsCi0JCQkJCSAgICAgICJDYW5ub3QgY29uZmlndXJlIHRoZSB0ZXN0IHdpdGgg YWxsIHNwcml0ZSBwbGFuZXMgZW5hYmxlZFxuIik7Ci0KLQkJCQkvKiByZXRyeSBvbmNlIHdpdGgg WFJHQiBmb3JtYXQuICovCi0JCQkJYWxwaGEgPSBmYWxzZTsKLQkJCQlnb3RvIHJldHJ5OwotCQkJ fQotCi0JCQlzcHJpdGVfd2lkdGggPSBwcmV2X3c7Ci0JCQlzcHJpdGVfaGVpZ2h0ID0gcHJldl9o OwotCi0JCQlpZiAobWF4X3Nwcml0ZV93aWR0aCAmJiBtYXhfc3ByaXRlX2hlaWdodCkgewotCQkJ CXNldF9zcHJpdGVfd2goZGlzcGxheSwgcGlwZSwgcGFybXMsIHNwcml0ZV9mYiwKLQkJCQkJICAg ICAgYWxwaGEsIHNwcml0ZV93aWR0aCwgc3ByaXRlX2hlaWdodCk7Ci0JCQkJYnJlYWs7Ci0JCQl9 Ci0KLQkJCWlmICghbWF4X3Nwcml0ZV93aWR0aCkKLQkJCQltYXhfc3ByaXRlX3dpZHRoID0gdHJ1 ZTsKLQkJCWVsc2UKLQkJCQltYXhfc3ByaXRlX2hlaWdodCA9IHRydWU7Ci0JCX0gZWxzZSB7CisJ CWlmICghaXNfYXRvbWljX2NoZWNrX3BsYW5lX3NpemVfZXJybm8ocmV0KSkgewogCQkJcHJldl93 ID0gc3ByaXRlX3dpZHRoOwogCQkJcHJldl9oID0gc3ByaXRlX2hlaWdodDsKLQkJfQotCi0JCWlm ICghbWF4X3Nwcml0ZV93aWR0aCkgewotCQkJc3ByaXRlX3dpZHRoICo9IDI7Ci0KKyAgICAKKwkJ CXNwcml0ZV93aWR0aCAqPSBtYXhfc3ByaXRlX3dpZHRoID8gMSA6IDI7CiAJCQlpZiAoc3ByaXRl X3dpZHRoID49IG1vZGUtPmhkaXNwbGF5KSB7CiAJCQkJbWF4X3Nwcml0ZV93aWR0aCA9IHRydWU7 Ci0KIAkJCQlzcHJpdGVfd2lkdGggPSBtb2RlLT5oZGlzcGxheTsKIAkJCX0KLQkJfSBlbHNlIGlm ICghbWF4X3Nwcml0ZV9oZWlnaHQpIHsKLQkJCXNwcml0ZV9oZWlnaHQgKj0gMjsKIAorCQkJc3By aXRlX2hlaWdodCAqPSBtYXhfc3ByaXRlX2hlaWdodCA/IDEgOiAyOwogCQkJaWYgKHNwcml0ZV9o ZWlnaHQgPj0gbW9kZS0+dmRpc3BsYXkpIHsKIAkJCQltYXhfc3ByaXRlX2hlaWdodCA9IHRydWU7 Ci0KIAkJCQlzcHJpdGVfaGVpZ2h0ID0gbW9kZS0+dmRpc3BsYXk7CiAJCQl9Ci0JCX0gZWxzZQot CQkJLyogTWF4IHNpemVkIHNwcml0ZXMgZm9yIGFsbCEgKi8KLQkJCWJyZWFrOworCQkJY29udGlu dWU7CisJCX0KKworCQlpZiAoY3Vyc29yX3dpZHRoID09IHNwcml0ZV93aWR0aCAmJgorCQkgICAg Y3Vyc29yX2hlaWdodCA9PSBzcHJpdGVfaGVpZ2h0KSB7CisJCQkvKiByZXRyeSBvbmNlIHdpdGgg WFJHQiBmb3JtYXQuICovCisJCQlpZiAoYWxwaGEpIHsKKwkJCQlhbHBoYSA9IGZhbHNlOworCQkJ CWlndF9pbmZvKCJSZW1vdmVkIGFscGhhXG4iKTsKKwkJCX0KKwkJCWVsc2UgeworCQkJCWlndF9w bGFuZV90ICpyZW1vdmVkX3BsYW5lID0gTlVMTDsKKwkJCQlpZ3RfYXNzZXJ0X2Yobl9wbGFuZXMg PiAwLCAiTm8gcGxhbmVzIGxlZnQgdG8gcHJvY2VlZCB3aXRoISIpOworCQkJCWlmIChuX292ZXJs YXlzID4gMCkgeworCQkJCQl1aW50MzJfdCBwbGFuZV90b19yZW1vdmUgPSBoYXJzX3BldHJ1c2th X2Y1NF8xX3JhbmRvbV91bnNhZmVfbWF4KG5fb3ZlcmxheXMpOworCQkJCQlyZW1vdmVkX3BsYW5l ID0gJmRpc3BsYXktPnBpcGVzW3BpcGVdLnBsYW5lc1tvdmVybGF5c1twbGFuZV90b19yZW1vdmVd XTsKKwkJCQkJaWd0X3BsYW5lX3NldF9mYihyZW1vdmVkX3BsYW5lLCBOVUxMKTsKKwkJCQkJd2hp bGUgKHBsYW5lX3RvX3JlbW92ZSA8IChuX292ZXJsYXlzIC0gMSkpIHsKKwkJCQkJCW92ZXJsYXlz W3BsYW5lX3RvX3JlbW92ZV0gPSBvdmVybGF5c1twbGFuZV90b19yZW1vdmUgKyAxXTsKKwkJCQkJ CXBsYW5lX3RvX3JlbW92ZSsrOworCQkJCQl9CisJCQkJCW5fb3ZlcmxheXMtLTsKKwkJCQl9CisJ CQkJZWxzZSB7CisJCQkJCWlmIChwcmltYXJ5KSB7CisJCQkJCQlyZW1vdmVkX3BsYW5lID0gcHJp bWFyeTsKKwkJCQkJCWlndF9wbGFuZV9zZXRfZmIocHJpbWFyeSwgTlVMTCk7CisJCQkJCQlwcmlt YXJ5ID0gTlVMTDsKKwkJCQkJfQorCQkJCQllbHNlIGlmIChjdXJzb3IpIHsKKwkJCQkJCXJlbW92 ZWRfcGxhbmUgPSBjdXJzb3I7CisJCQkJCQlpZ3RfcGxhbmVfc2V0X2ZiKGN1cnNvciwgTlVMTCk7 CisJCQkJCQljdXJzb3IgPSBOVUxMOworCQkJCQl9CisJCQkJfQorCQkJCWlmIChyZW1vdmVkX3Bs YW5lKSB7CisJCQkJCXBhcm1zW3JlbW92ZWRfcGxhbmUtPmluZGV4XS5tYXNrID0gMDsKKwkJCQkJ aWd0X2luZm8oIlJlbW92ZWQgcGxhbmUgJWRcbiIsIHJlbW92ZWRfcGxhbmUtPmluZGV4KTsKKwkJ CQl9CisJCQkJbl9wbGFuZXMtLTsKKwkJCQlpZ3RfaW5mbygiUmVkdWNlZCBhdmFpbGFibGUgcGxh bmVzIHRvICVkXG4iLCBuX3BsYW5lcyk7CisJCQl9CisJCQljb250aW51ZTsKKwkJfQorCisJCXNw cml0ZV93aWR0aCA9IHByZXZfdzsKKwkJc3ByaXRlX2hlaWdodCA9IHByZXZfaDsKKworCQlpZiAo IW1heF9zcHJpdGVfd2lkdGgpCisJCQltYXhfc3ByaXRlX3dpZHRoID0gdHJ1ZTsKKwkJZWxzZQor CQkJbWF4X3Nwcml0ZV9oZWlnaHQgPSB0cnVlOwogCX0KIAorCXNldF9zcHJpdGVfd2goZGlzcGxh eSwgcGlwZSwgcGFybXMsIHNwcml0ZV9mYiwKKwkJCWFscGhhLCBzcHJpdGVfd2lkdGgsIHNwcml0 ZV9oZWlnaHQpOworCiAJaWd0X2luZm8oIlJ1bm5pbmcgdGVzdCBvbiBwaXBlICVzIHdpdGggcmVz b2x1dGlvbiAlZHglZCBhbmQgc3ByaXRlIHNpemUgJWR4JWQgYWxwaGEgJWlcbiIsCiAJCSBrbXN0 ZXN0X3BpcGVfbmFtZShwaXBlKSwgbW9kZS0+aGRpc3BsYXksIG1vZGUtPnZkaXNwbGF5LAogCQkg c3ByaXRlX3dpZHRoLCBzcHJpdGVfaGVpZ2h0LCBhbHBoYSk7CkBAIC00MzYsNyArNDYyLDcgQEAg cnVuX3RyYW5zaXRpb25fdGVzdChpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBlbnVtIHBpcGUgcGlw ZSwgaWd0X291dHB1dF90ICpvdXRwdXQKIAl1aW50MzJfdCBpdGVyX21heCwgaTsKIAlzdHJ1Y3Qg cGxhbmVfcGFybXMgcGFybXNbcGlwZV9vYmotPm5fcGxhbmVzXTsKIAl1bnNpZ25lZCBmbGFncyA9 IDA7Ci0JaW50IHJldDsKKwlpbnQgcmV0ID0gMDsKIAogCWlmIChmZW5jaW5nKQogCQlwcmVwYXJl X2ZlbmNpbmcoZGlzcGxheSwgcGlwZSk7CkBAIC00NjMsNyArNDg5LDYgQEAgcnVuX3RyYW5zaXRp b25fdGVzdChpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBlbnVtIHBpcGUgcGlwZSwgaWd0X291dHB1 dF90ICpvdXRwdXQKIAogCWlmIChmbGFncyAmIERSTV9NT0RFX0FUT01JQ19BTExPV19NT0RFU0VU KSB7CiAJCWlndF9vdXRwdXRfc2V0X3BpcGUob3V0cHV0LCBQSVBFX05PTkUpOwotCiAJCWlndF9k aXNwbGF5X2NvbW1pdDIoZGlzcGxheSwgQ09NTUlUX0FUT01JQyk7CiAKIAkJaWd0X291dHB1dF9z ZXRfcGlwZShvdXRwdXQsIHBpcGUpOwpAQCAtNDc5LDcgKzUwNCw2IEBAIHJ1bl90cmFuc2l0aW9u X3Rlc3QoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgZW51bSBwaXBlIHBpcGUsIGlndF9vdXRwdXRf dCAqb3V0cHV0CiAJICogcGxhbmVzIHRvIGZpeCB0aGlzCiAJICovCiAJd2hpbGUgKDEpIHsKLQkJ d21fc2V0dXBfcGxhbmUoZGlzcGxheSwgcGlwZSwgaXRlcl9tYXggLSAxLCBwYXJtcywgZmFsc2Up OwogCiAJCWlmIChmZW5jaW5nKQogCQkJaWd0X3BpcGVfcmVxdWVzdF9vdXRfZmVuY2UocGlwZV9v YmopOwpAQCAtNDk4LDkgKzUyMiw2IEBAIHJ1bl90cmFuc2l0aW9uX3Rlc3QoaWd0X2Rpc3BsYXlf dCAqZGlzcGxheSwgZW51bSBwaXBlIHBpcGUsIGlndF9vdXRwdXRfdCAqb3V0cHV0CiAJCQkgICAg cGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SKQogCQkJCWNvbnRpbnVlOwogCi0J CQlpZiAocGFybXNbaV0ud2lkdGggPD0gNTEyKQotCQkJCWNvbnRpbnVlOwotCiAJCQlwYXJtc1tp XS53aWR0aCAvPSAyOwogCQkJcmV0ID0gMTsKIAkJCWlndF9pbmZvKCJSZWR1Y2luZyBzcHJpdGUg JWkgdG8gJXV4JXVcbiIsIGkgLSAxLCBwYXJtc1tpXS53aWR0aCwgcGFybXNbaV0uaGVpZ2h0KTsK QEAgLTUxMSw2ICs1MzIsOCBAQCBydW5fdHJhbnNpdGlvbl90ZXN0KGlndF9kaXNwbGF5X3QgKmRp c3BsYXksIGVudW0gcGlwZSBwaXBlLCBpZ3Rfb3V0cHV0X3QgKm91dHB1dAogCQkJaWd0X3NraXAo IkNhbm5vdCBydW4gdGVzdHMgd2l0aG91dCBwcm9wZXIgc2l6ZSBzcHJpdGUgcGxhbmVzXG4iKTsK IAl9CiAKKwl3bV9zZXR1cF9wbGFuZShkaXNwbGF5LCBwaXBlLCBpdGVyX21heCAtIDEsIHBhcm1z LCBmYWxzZSk7CisKIAlpZ3RfZGlzcGxheV9jb21taXQyKGRpc3BsYXksIENPTU1JVF9BVE9NSUMp OwogCiAJaWYgKHR5cGUgPT0gVFJBTlNJVElPTl9BRlRFUl9GUkVFKSB7CkBAIC01MjUsOCArNTQ4 LDEwIEBAIHJ1bl90cmFuc2l0aW9uX3Rlc3QoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgZW51bSBw aXBlIHBpcGUsIGlndF9vdXRwdXRfdCAqb3V0cHV0CiAJCX0KIAogCQkvKiBmb3JjZSBwbGFuZXMg dG8gYmUgcGFydCBvZiBjb21taXQgKi8KLQkJZm9yX2VhY2hfcGxhbmVfb25fcGlwZShkaXNwbGF5 LCBwaXBlLCBwbGFuZSkKLQkJCWlndF9wbGFuZV9zZXRfcG9zaXRpb24ocGxhbmUsIDAsIDApOwor CQlmb3JfZWFjaF9wbGFuZV9vbl9waXBlKGRpc3BsYXksIHBpcGUsIHBsYW5lKSB7CisJCQlpZiAo cGFybXNbcGxhbmUtPmluZGV4XS5tYXNrKQorCQkJCWlndF9wbGFuZV9zZXRfcG9zaXRpb24ocGxh bmUsIDAsIDApOworCQl9CiAKIAkJaWd0X2Rpc3BsYXlfY29tbWl0MihkaXNwbGF5LCBDT01NSVRf QVRPTUlDKTsKIAotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ln dC1kZXY=