From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [RFC 6/7] drm/i915: Try to make bigjoiner work in atomic check. Date: Tue, 2 Jul 2019 21:42:04 +0200 Message-ID: <20190702194205.13366-7-maarten.lankhorst@linux.intel.com> References: <20190702194205.13366-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 03A426E03C for ; Tue, 2 Jul 2019 19:42:12 +0000 (UTC) In-Reply-To: <20190702194205.13366-1-maarten.lankhorst@linux.intel.com> 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 List-Id: intel-gfx@lists.freedesktop.org V2hlbiB0aGUgY2xvY2sgaXMgaGlnaGVyIHRoYW4gdGhlIGRvdGNsb2NrLCB0cnkgd2l0aCAyIHBp cGVzIGVuYWJsZWQuCklmIHdlIGNhbiBlbmFibGUgMiwgdGhlbiB3ZSB3aWxsIGdvIGludG8gYmln IGpvaW5lciBtb2RlLCBhbmQgc3RlYWwKdGhlIGFkamFjZW50IGNydGMuCgpUaGlzIG9ubHkgbGlu a3MgdGhlIHBsYW5lcyBpbiBzb2Z0d2FyZSwgbm8gaGFyZHdhcmUgcHJvZ3JhbW1pbmcgaXMKZG9u ZSB5ZXQuCgpTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9y c3RAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGlzcGxheS5jIHwgMTQ1ICsrKysrKysrKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZHAuYyAgICAgIHwgIDIyICsrLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmggICAgICAgICAgICAgfCAgIDYgKwogMyBmaWxlcyBjaGFuZ2VkLCAxNjgg aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheS5jCmluZGV4IGQ4ZTYzZjEzM2E2Mi4uY2E3MjA1ODIwMmY4IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTIy MDMsNiArMTIyMDMsNDcgQEAgc3RhdGljIHZvaWQgY29weV9od190b191YXBpX3N0YXRlKHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCWNydGNfc3RhdGUtPnVhcGkuYWRqdXN0 ZWRfbW9kZSA9IGNydGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGU7CiB9CiAKK3N0YXRpYyBpbnQK K2NvcHlfYmlnam9pbmVyX2NydGNfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUsCisJCQkgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpmcm9tX2NydGNfc3Rh dGUpCit7CisJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnNhdmVkX3N0YXRlOworCisJc2F2ZWRf c3RhdGUgPSBrbWVtZHVwKGZyb21fY3J0Y19zdGF0ZSwgc2l6ZW9mKCpzYXZlZF9zdGF0ZSksIEdG UF9LRVJORUwpOworCWlmICghc2F2ZWRfc3RhdGUpCisJCXJldHVybiAtRU5PTUVNOworCisJc2F2 ZWRfc3RhdGUtPnVhcGkgPSBjcnRjX3N0YXRlLT51YXBpOworCXNhdmVkX3N0YXRlLT5zY2FsZXJf c3RhdGUgPSBjcnRjX3N0YXRlLT5zY2FsZXJfc3RhdGU7CisJc2F2ZWRfc3RhdGUtPnNoYXJlZF9k cGxsID0gY3J0Y19zdGF0ZS0+c2hhcmVkX2RwbGw7CisJc2F2ZWRfc3RhdGUtPmRwbGxfaHdfc3Rh dGUgPSBjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlOworCXNhdmVkX3N0YXRlLT5jcmNfZW5hYmxl ZCA9IGNydGNfc3RhdGUtPmNyY19lbmFibGVkOworCisJaW50ZWxfY3J0Y19mcmVlX2h3X3N0YXRl KGNydGNfc3RhdGUpOworCW1lbWNweShjcnRjX3N0YXRlLCBzYXZlZF9zdGF0ZSwgc2l6ZW9mKCpj cnRjX3N0YXRlKSk7CisJa2ZyZWUoc2F2ZWRfc3RhdGUpOworCisJLyogUmUtaW5pdCBodyBzdGF0 ZSAqLworCW1lbXNldCgmY3J0Y19zdGF0ZS0+aHcsIDAsIHNpemVvZihzYXZlZF9zdGF0ZS0+aHcp KTsKKwljcnRjX3N0YXRlLT5ody5lbmFibGUgPSBmcm9tX2NydGNfc3RhdGUtPmh3LmVuYWJsZTsK KwljcnRjX3N0YXRlLT5ody5hY3RpdmUgPSBmcm9tX2NydGNfc3RhdGUtPmh3LmFjdGl2ZTsKKwlj cnRjX3N0YXRlLT5ody5tb2RlID0gZnJvbV9jcnRjX3N0YXRlLT5ody5tb2RlOworCWNydGNfc3Rh dGUtPmh3LmFkanVzdGVkX21vZGUgPSBmcm9tX2NydGNfc3RhdGUtPmh3LmFkanVzdGVkX21vZGU7 CisKKwkvKiBTb21lIGZpeHVwcyAqLworCWNydGNfc3RhdGUtPnVhcGkubW9kZV9jaGFuZ2VkID0g ZnJvbV9jcnRjX3N0YXRlLT51YXBpLm1vZGVfY2hhbmdlZDsKKwljcnRjX3N0YXRlLT51YXBpLmNv bm5lY3RvcnNfY2hhbmdlZCA9IGZyb21fY3J0Y19zdGF0ZS0+dWFwaS5jb25uZWN0b3JzX2NoYW5n ZWQ7CisJY3J0Y19zdGF0ZS0+dWFwaS5hY3RpdmVfY2hhbmdlZCA9IGZyb21fY3J0Y19zdGF0ZS0+ dWFwaS5hY3RpdmVfY2hhbmdlZDsKKwljcnRjX3N0YXRlLT5udjEyX3BsYW5lcyA9IGNydGNfc3Rh dGUtPmM4X3BsYW5lcyA9IGNydGNfc3RhdGUtPnVwZGF0ZV9wbGFuZXMgPSAwOworCisJY3J0Y19z dGF0ZS0+Ymlnam9pbmVyX21hc3Rlcl9jcnRjID0gdG9faW50ZWxfY3J0Yyhmcm9tX2NydGNfc3Rh dGUtPnVhcGkuY3J0Yyk7CisKKwkvKiBYWFgvVE9ETzogRG8gd2UgbmVlZCB0aGUgbWFzdGVyJ3Mg Y3B1X3RyYW5zY29kZXIgaGVyZSwgb3IgcmVzZXQgdG8gZGVmYXVsdD8gKi8KKwljcnRjX3N0YXRl LT5jcHVfdHJhbnNjb2RlciA9IChlbnVtIHRyYW5zY29kZXIpdG9faW50ZWxfY3J0YyhjcnRjX3N0 YXRlLT51YXBpLmNydGMpLT5waXBlOworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQKIGNs ZWFyX2ludGVsX2NydGNfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp CiB7CkBAIC0xMzU3Nyw2ICsxMzYxOCw5NiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2NoZWNr X2Zhc3RzZXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YQogCW5l d19jcnRjX3N0YXRlLT5oYXNfZHJycyA9IG9sZF9jcnRjX3N0YXRlLT5oYXNfZHJyczsKIH0KIAor c3RhdGljIGludCBpbnRlbF9hdG9taWNfY2hlY2tfYmlnam9pbmVyKHN0cnVjdCBpbnRlbF9hdG9t aWNfc3RhdGUgKnN0YXRlKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoc3RhdGUtPmJhc2UuZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xk X2NydGNfc3RhdGUsICpuZXdfY3J0Y19zdGF0ZSwgKnNsYXZlX2NydGNfc3RhdGUsICptYXN0ZXJf Y3J0Y19zdGF0ZTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywgKnNsYXZlLCAqbWFzdGVyOwor CWludCBpLCByZXQgPSAwOworCisJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPCAxMSkKKwkJcmV0 dXJuIDA7CisKKwlmb3JfZWFjaF9vbGRuZXdfaW50ZWxfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0 Yywgb2xkX2NydGNfc3RhdGUsCisJCQkJCSAgICBuZXdfY3J0Y19zdGF0ZSwgaSkgeworCQlpZiAo IW9sZF9jcnRjX3N0YXRlLT5iaWdqb2luZXJfbWFzdGVyX2NydGMpCisJCQljb250aW51ZTsKKwor CQlpZiAoY3J0Yy0+cGlwZSA9PSBQSVBFX0EpIHsKKwkJCURSTV9FUlJPUigiQmlnam9pbmVyIHNs YXZlIG9uIHBpcGUgQT9cbiIpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKworCQkvKiBjcnRj IHN0YXlpbmcgaW4gc2xhdmUgbW9kZT8gKi8KKwkJaWYgKCFuZXdfY3J0Y19zdGF0ZS0+dWFwaS5l bmFibGUpCisJCQljb250aW51ZTsKKworCQlpZiAobmVlZHNfbW9kZXNldChuZXdfY3J0Y19zdGF0 ZSkgfHwgbmV3X2NydGNfc3RhdGUtPnVwZGF0ZV9waXBlKSB7CisJCQltYXN0ZXIgPSBpbnRlbF9n ZXRfY3J0Y19mb3JfcGlwZShkZXZfcHJpdiwgY3J0Yy0+cGlwZSAtIDEpOworCQkJbWFzdGVyX2Ny dGNfc3RhdGUgPSBpbnRlbF9hdG9taWNfZ2V0X2NydGNfc3RhdGUoJnN0YXRlLT5iYXNlLCBtYXN0 ZXIpOworCQkJaWYgKElTX0VSUihtYXN0ZXJfY3J0Y19zdGF0ZSkpCisJCQkJcmV0dXJuIFBUUl9F UlIobWFzdGVyX2NydGNfc3RhdGUpOworCisJCQkvKgorCQkJICogRm9yY2UgbW9kZXNldCBvbiBt YXN0ZXIsIHRvIHJlY2FsY3VsYXRlIGJpZ2pvaW5lcgorCQkJICogc3RhdGUuCisJCQkgKgorCQkJ ICogSWYgbWFzdGVyX2NydGNfc3RhdGUgd2FzIG5vdCBwYXJ0IG9mIHRoZSBhdG9taWMgY29tbWl0 LAorCQkJICogd2Ugd2lsbCBmYWlsIGJlY2F1c2UgdGhlIG1hc3RlciB3YXMgbm90IGRlY29uZmln dXJlZCwKKwkJCSAqIGJ1dCBhdCBsZWFzdCBmYWlsIGJlbG93IHRvIHVuaWZ5IHRoZSBjaGVja3Mu CisJCQkgKi8KKwkJCW1hc3Rlcl9jcnRjX3N0YXRlLT51YXBpLm1vZGVfY2hhbmdlZCA9IHRydWU7 CisKKwkJCXJldCA9IGRybV9hdG9taWNfYWRkX2FmZmVjdGVkX3BsYW5lcygmc3RhdGUtPmJhc2Us ICZjcnRjLT5iYXNlKTsKKwkJCWlmIChyZXQpCisJCQkJcmV0dXJuIHJldDsKKworCQkJcmV0ID0g ZHJtX2F0b21pY19hZGRfYWZmZWN0ZWRfY29ubmVjdG9ycygmc3RhdGUtPmJhc2UsICZjcnRjLT5i YXNlKTsKKwkJCWlmIChyZXQpCisJCQkJcmV0dXJuIHJldDsKKwkJfQorCX0KKworCWZvcl9lYWNo X29sZG5ld19pbnRlbF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwK KwkJCQkJICAgIG5ld19jcnRjX3N0YXRlLCBpKSB7CisJCWlmICghbmV3X2NydGNfc3RhdGUtPnVh cGkuZW5hYmxlIHx8ICFuZXdfY3J0Y19zdGF0ZS0+Ymlnam9pbmVyKSB7CisJCQlpZiAoIW9sZF9j cnRjX3N0YXRlLT5iaWdqb2luZXIpCisJCQkJY29udGludWU7CisJCX0KKworCQlpZiAoIW5lZWRz X21vZGVzZXQobmV3X2NydGNfc3RhdGUpICYmICFuZXdfY3J0Y19zdGF0ZS0+dXBkYXRlX3BpcGUp CisJCQljb250aW51ZTsKKworCQlpZiAoMSArIGNydGMtPnBpcGUgPj0gSU5URUxfSU5GTyhkZXZf cHJpdiktPm51bV9waXBlcykgeworCQkJRFJNX0RFQlVHX0tNUygiQmlnIGpvaW5lciBjb25maWd1 cmF0aW9uIHJlcXVpcmVzIENSVEMgKyAxIHRvIGJlIHVzZWQsIGRvZXNuJ3QgZXhpc3RcbiIpOwor CQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKworCQlzbGF2ZSA9IGludGVsX2dldF9jcnRjX2Zvcl9w aXBlKGRldl9wcml2LCBjcnRjLT5waXBlICsgMSk7CisJCXNsYXZlX2NydGNfc3RhdGUgPSBpbnRl bF9hdG9taWNfZ2V0X2NydGNfc3RhdGUoJnN0YXRlLT5iYXNlLCBzbGF2ZSk7CisJCWlmIChJU19F UlIoc2xhdmVfY3J0Y19zdGF0ZSkpCisJCQlyZXR1cm4gUFRSX0VSUihzbGF2ZV9jcnRjX3N0YXRl KTsKKworCQlpZiAobmV3X2NydGNfc3RhdGUtPmJpZ2pvaW5lciAmJiBzbGF2ZV9jcnRjX3N0YXRl LT51YXBpLmVuYWJsZSkgeworCQkJRFJNX0RFQlVHX0tNUygiW0NSVEM6JWQ6JXNdIEJpZyBqb2lu ZXIgY29uZmlndXJhdGlvbiByZXF1aXJlcyB0aGlzIENSVEMgdG8gYmUgdW5jb25maWd1cmVkXG4i LAorCQkJCSAgICAgIHNsYXZlLT5iYXNlLmJhc2UuaWQsIHNsYXZlLT5iYXNlLm5hbWUpOworCQkJ cmV0dXJuIC1FSU5WQUw7CisJCX0gZWxzZSBpZiAobmV3X2NydGNfc3RhdGUtPmJpZ2pvaW5lcikg eworCQkJRFJNX0RFQlVHX0tNUygiW0NSVEM6JWQ6JXNdIFVzZWQgYXMgc2xhdmUgZm9yIGJpZyBq b2luZXJcbiIsCisJCQkJICAgICAgc2xhdmUtPmJhc2UuYmFzZS5pZCwgc2xhdmUtPmJhc2UubmFt ZSk7CisJCQlyZXQgPSBjb3B5X2JpZ2pvaW5lcl9jcnRjX3N0YXRlKHNsYXZlX2NydGNfc3RhdGUs IG5ld19jcnRjX3N0YXRlKTsKKwkJfSBlbHNlIGlmICghc2xhdmVfY3J0Y19zdGF0ZS0+dWFwaS5l bmFibGUpIHsKKwkJCURSTV9ERUJVR19LTVMoIltDUlRDOiVkOiVzXSBEaXNhYmxpbmcgc2xhdmUg ZnJvbSBiaWcgam9pbmVyXG4iLAorCQkJCSAgICAgIHNsYXZlLT5iYXNlLmJhc2UuaWQsIHNsYXZl LT5iYXNlLm5hbWUpOworCQkJcmV0ID0gY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShzbGF2ZV9jcnRj X3N0YXRlKTsKKwkJfQorCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKwl9CisKKwlyZXR1cm4g MDsKK30KKwogLyoqCiAgKiBpbnRlbF9hdG9taWNfY2hlY2sgLSB2YWxpZGF0ZSBzdGF0ZSBvYmpl Y3QKICAqIEBkZXY6IGRybSBkZXZpY2UKQEAgLTEzNjExLDcgKzEzNzQyLDEwIEBAIHN0YXRpYyBp bnQgaW50ZWxfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAKIAkJaWYgKCFu ZXdfY3J0Y19zdGF0ZS0+dWFwaS5lbmFibGUpIHsKIAkJCWFueV9tcyA9IHRydWU7Ci0JCQljbGVh cl9pbnRlbF9jcnRjX3N0YXRlKG5ld19jcnRjX3N0YXRlKTsKKworCQkJLyogYmlnIGpvaW5lciBp cyBzbGF2ZSBjbGVhcmVkIGluIGludGVsX2F0b21pY19jaGVja19iaWdqb2luZXIoKSAqLworCQkJ aWYgKG9sZF9jcnRjX3N0YXRlLT51YXBpLmVuYWJsZSB8fCAhb2xkX2NydGNfc3RhdGUtPmJpZ2pv aW5lcikKKwkJCQljbGVhcl9pbnRlbF9jcnRjX3N0YXRlKG5ld19jcnRjX3N0YXRlKTsKIAkJCWNv bnRpbnVlOwogCQl9CiAKQEAgLTEzNjI1LDYgKzEzNzU5LDEwIEBAIHN0YXRpYyBpbnQgaW50ZWxf YXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQlhbnlfbXMgPSB0cnVlOwog CX0KIAorCXJldCA9IGludGVsX2F0b21pY19jaGVja19iaWdqb2luZXIoc3RhdGUpOworCWlmIChy ZXQpCisJCXJldHVybiByZXQ7CisKIAlyZXQgPSBkcm1fZHBfbXN0X2F0b21pY19jaGVjaygmc3Rh dGUtPmJhc2UpOwogCWlmIChyZXQpCiAJCWdvdG8gZmFpbDsKQEAgLTEzNzI5LDYgKzEzODY3LDEx IEBAIHN0YXRpYyB2b2lkIGludGVsX3VwZGF0ZV9jcnRjKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRj LAogCWVsc2UgaWYgKG5ld19wbGFuZV9zdGF0ZSkKIAkJaW50ZWxfZmJjX2VuYWJsZShjcnRjLCBu ZXdfY3J0Y19zdGF0ZSwgbmV3X3BsYW5lX3N0YXRlKTsKIAorCWlmIChuZXdfY3J0Y19zdGF0ZS0+ Ymlnam9pbmVyKSB7CisJCURSTV9FUlJPUigiUGxhbmUgdXBkYXRlcyBub3Qgc3VwcG9ydGVkIGlu IGJpZ2pvaW5lciBjb25maWd1cmF0aW9uIHlldFxuIik7CisJCXJldHVybjsKKwl9CisKIAlpbnRl bF9iZWdpbl9jcnRjX2NvbW1pdChzdGF0ZSwgY3J0Yyk7CiAKIAlpZiAoSU5URUxfR0VOKGRldl9w cml2KSA+PSA5KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jCmluZGV4IGJm Mjg5NzBjMDFhYS4uNTA2M2M4ZWU2ZmQ5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kcC5jCkBAIC0yMDQ2LDYgKzIwNDYsMTUgQEAgc3RhdGljIGludCBpbnRlbF9kcF9kc2Nf Y29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAlwaXBlX2NvbmZpZy0+ cG9ydF9jbG9jayA9IGludGVsX2RwLT5jb21tb25fcmF0ZXNbbGltaXRzLT5tYXhfY2xvY2tdOwog CXBpcGVfY29uZmlnLT5sYW5lX2NvdW50ID0gbGltaXRzLT5tYXhfbGFuZV9jb3VudDsKIAorCWlm IChhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrID4gaW50ZWxfZHBfZG93bnN0cmVhbV9tYXhfZG90 Y2xvY2soaW50ZWxfZHAsIGZhbHNlKSkgeworCQlpZiAoYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9j ayA+IGludGVsX2RwX2Rvd25zdHJlYW1fbWF4X2RvdGNsb2NrKGludGVsX2RwLCB0cnVlKSkgewor CQkJRFJNX0RFQlVHX0tNUygiQ2xvY2sgcmF0ZSB0b28gaGlnaCBmb3IgYmlnIGpvaW5lclxuIik7 CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCQlwaXBlX2NvbmZpZy0+Ymlnam9pbmVyID0gdHJ1 ZTsKKwkJRFJNX0RFQlVHX0tNUygiVXNpbmcgYmlnam9pbmVyIGNvbmZpZ3VyYXRpb25cbiIpOwor CX0KKwogCWlmIChpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHApKSB7CiAJCXBpcGVfY29uZmlnLT5k c2NfcGFyYW1zLmNvbXByZXNzZWRfYnBwID0KIAkJCW1pbl90KHUxNiwgZHJtX2VkcF9kc2Nfc2lu a19vdXRwdXRfYnBwKGludGVsX2RwLT5kc2NfZHBjZCkgPj4gNCwKQEAgLTIwNTMsNiArMjA2Miwx MSBAQCBzdGF0aWMgaW50IGludGVsX2RwX2RzY19jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwLAogCQlwaXBlX2NvbmZpZy0+ZHNjX3BhcmFtcy5zbGljZV9jb3VudCA9CiAJ CQlkcm1fZHBfZHNjX3NpbmtfbWF4X3NsaWNlX2NvdW50KGludGVsX2RwLT5kc2NfZHBjZCwKIAkJ CQkJCQl0cnVlKTsKKworCQlpZiAocGlwZV9jb25maWctPmJpZ2pvaW5lciAmJiBwaXBlX2NvbmZp Zy0+ZHNjX3BhcmFtcy5zbGljZV9jb3VudCA8IDQpIHsKKwkJCURSTV9ERUJVR19LTVMoIkNhbm5v dCBzcGxpdCBlRFAgc3RyZWFtIGluIGJpZ2pvaW5lciBjb25maWd1cmF0aW9uLlxuIik7CisJCQly ZXR1cm4gLUVJTlZBTDsKKwkJfQogCX0gZWxzZSB7CiAJCXUxNiBkc2NfbWF4X291dHB1dF9icHA7 CiAJCXU4IGRzY19kcF9zbGljZV9jb3VudDsKQEAgLTIwODAsMTMgKzIwOTQsMTMgQEAgc3RhdGlj IGludCBpbnRlbF9kcF9kc2NfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCwKIAkgKiBpcyBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gQ2RjbG9jayBhbmQgaWYgc2xpY2Ug Y291bnQgaXMgZXZlbgogCSAqIHRoZW4gd2UgbmVlZCB0byB1c2UgMiBWRFNDIGluc3RhbmNlcy4K IAkgKi8KLQlpZiAoYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jayA+IGRldl9wcml2LT5tYXhfY2Rj bGtfZnJlcSkgewotCQlpZiAocGlwZV9jb25maWctPmRzY19wYXJhbXMuc2xpY2VfY291bnQgPiAx KSB7Ci0JCQlwaXBlX2NvbmZpZy0+ZHNjX3BhcmFtcy5kc2Nfc3BsaXQgPSB0cnVlOwotCQl9IGVs c2UgeworCWlmIChhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrID4gZGV2X3ByaXYtPm1heF9jZGNs a19mcmVxIHx8IHBpcGVfY29uZmlnLT5iaWdqb2luZXIpIHsKKwkJaWYgKHBpcGVfY29uZmlnLT5k c2NfcGFyYW1zLnNsaWNlX2NvdW50IDwgMikgewogCQkJRFJNX0RFQlVHX0tNUygiQ2Fubm90IHNw bGl0IHN0cmVhbSB0byB1c2UgMiBWRFNDIGluc3RhbmNlc1xuIik7CiAJCQlyZXR1cm4gLUVJTlZB TDsKIAkJfQorCisJCXBpcGVfY29uZmlnLT5kc2NfcGFyYW1zLmRzY19zcGxpdCA9IHRydWU7CiAJ fQogCiAJcmV0ID0gaW50ZWxfZHBfY29tcHV0ZV9kc2NfcGFyYW1zKGludGVsX2RwLCBwaXBlX2Nv bmZpZyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDhhOWYwODk4NDNiYy4uZDZlYjc3 ODhlZDQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtOTc2LDYgKzk3NiwxMiBAQCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSB7CiAJLyogZW5hYmxlIHBpcGUgY3NjPyAqLwogCWJvb2wg Y3NjX2VuYWJsZTsKIAorCS8qIGVuYWJsZSBwaXBlIGJpZyBqb2luZXI/ICovCisJYm9vbCBiaWdq b2luZXI7CisKKwkvKiBiaWcgam9pbmVyIG1hc3RlciBDUlRDICovCisJc3RydWN0IGludGVsX2Ny dGMgKmJpZ2pvaW5lcl9tYXN0ZXJfY3J0YzsKKwogCS8qIERpc3BsYXkgU3RyZWFtIGNvbXByZXNz aW9uIHN0YXRlICovCiAJc3RydWN0IHsKIAkJYm9vbCBjb21wcmVzc2lvbl9lbmFibGU7Ci0tIAoy LjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==