From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Hoath Subject: [PATCH 4/4] drm/i915: Subsume intel_ctx_submit_request in to drm_i915_gem_request Date: Tue, 16 Dec 2014 12:32:30 +0000 Message-ID: <1418733150-6259-5-git-send-email-nicholas.hoath@intel.com> References: <1418733150-6259-1-git-send-email-nicholas.hoath@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 0F15D6E883 for ; Tue, 16 Dec 2014 04:32:41 -0800 (PST) In-Reply-To: <1418733150-6259-1-git-send-email-nicholas.hoath@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 TW92ZSBhbGwgcmVtYWluaW5nIGVsZW1lbnRzIHRoYXQgd2VyZSB1bmlxdWUgdG8gZXhlY2xpc3Rz IHF1ZXVlIGl0ZW1zCmluIHRvIHRoZSBhc3NvY2lhdGVkIHJlcXVlc3QuCgpJc3N1ZTogVklaLTQy NzQKCnYyOiBSZWJhc2UuIEZpeGVkIGlzc3VlIG9mIG92ZXJ6ZWFsb3VzIGZyZWVpbmcgb2YgcmVx dWVzdC4KU2lnbmVkLW9mZi1ieTogTmljayBIb2F0aCA8bmljaG9sYXMuaG9hdGhAaW50ZWwuY29t PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIHwgIDggKysrLS0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgfCAyNCArKysrKysrKysrKysrKysr KysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgfCAgNiArKy0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgfCA0NCArKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKyksIDMz IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggM2ZjODUw OC4uNDQ3MGZiZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2Zz LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAgLTE4NzUsNyAr MTg3NSw3IEBAIHN0YXRpYyBpbnQgaTkxNV9leGVjbGlzdHMoc3RydWN0IHNlcV9maWxlICptLCB2 b2lkICpkYXRhKQogCWludGVsX3J1bnRpbWVfcG1fZ2V0KGRldl9wcml2KTsKIAogCWZvcl9lYWNo X3JpbmcocmluZywgZGV2X3ByaXYsIHJpbmdfaWQpIHsKLQkJc3RydWN0IGludGVsX2N0eF9zdWJt aXRfcmVxdWVzdCAqaGVhZF9yZXEgPSBOVUxMOworCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKmhlYWRfcmVxID0gTlVMTDsKIAkJaW50IGNvdW50ID0gMDsKIAkJdW5zaWduZWQgbG9uZyBm bGFnczsKIApAQCAtMTkwOCwxOCArMTkwOCwxOCBAQCBzdGF0aWMgaW50IGk5MTVfZXhlY2xpc3Rz KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAkJbGlzdF9mb3JfZWFjaChjdXJzb3Is ICZyaW5nLT5leGVjbGlzdF9xdWV1ZSkKIAkJCWNvdW50Kys7CiAJCWhlYWRfcmVxID0gbGlzdF9m aXJzdF9lbnRyeV9vcl9udWxsKCZyaW5nLT5leGVjbGlzdF9xdWV1ZSwKLQkJCQlzdHJ1Y3QgaW50 ZWxfY3R4X3N1Ym1pdF9yZXF1ZXN0LCBleGVjbGlzdF9saW5rKTsKKwkJCQlzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QsIGV4ZWNsaXN0X2xpbmspOwogCQlzcGluX3VubG9ja19pcnFyZXN0b3Jl KCZyaW5nLT5leGVjbGlzdF9sb2NrLCBmbGFncyk7CiAKIAkJc2VxX3ByaW50ZihtLCAiXHQlZCBy ZXF1ZXN0cyBpbiBxdWV1ZVxuIiwgY291bnQpOwogCQlpZiAoaGVhZF9yZXEpIHsKIAkJCXN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfb2JqOwogCi0JCQljdHhfb2JqID0gaGVhZF9yZXEt PnJlcXVlc3QtPmN0eC0+ZW5naW5lW3JpbmdfaWRdLnN0YXRlOworCQkJY3R4X29iaiA9IGhlYWRf cmVxLT5jdHgtPmVuZ2luZVtyaW5nX2lkXS5zdGF0ZTsKIAkJCXNlcV9wcmludGYobSwgIlx0SGVh ZCByZXF1ZXN0IGlkOiAldVxuIiwKIAkJCQkgICBpbnRlbF9leGVjbGlzdHNfY3R4X2lkKGN0eF9v YmopKTsKIAkJCXNlcV9wcmludGYobSwgIlx0SGVhZCByZXF1ZXN0IHRhaWw6ICV1XG4iLAotCQkJ CSAgIGhlYWRfcmVxLT5yZXF1ZXN0LT50YWlsKTsKKwkJCQkgICBoZWFkX3JlcS0+dGFpbCk7CiAJ CX0KIAogCQlzZXFfcHV0YyhtLCAnXG4nKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGQ2 OGM3NWYuLjExNGFkYzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjAzNiw2ICsyMDM2 LDMwIEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCB7CiAJc3RydWN0IGxpc3RfaGVhZCBj bGllbnRfbGlzdDsKIAogCXVpbnQzMl90IHVuaXE7CisKKwkvKioKKwkgKiBUaGUgRUxTUCBvbmx5 IGFjY2VwdHMgdHdvIGVsZW1lbnRzIGF0IGEgdGltZSwgc28gd2UgcXVldWUKKwkgKiBjb250ZXh0 L3RhaWwgcGFpcnMgb24gYSBnaXZlbiBxdWV1ZSAocmluZy0+ZXhlY2xpc3RfcXVldWUpIHVudGls IHRoZQorCSAqIGhhcmR3YXJlIGlzIGF2YWlsYWJsZS4gVGhlIHF1ZXVlIHNlcnZlcyBhIGRvdWJs ZSBwdXJwb3NlOiB3ZSBhbHNvIHVzZQorCSAqIGl0IHRvIGtlZXAgdHJhY2sgb2YgdGhlIHVwIHRv IDIgY29udGV4dHMgY3VycmVudGx5IGluIHRoZSBoYXJkd2FyZQorCSAqICh1c3VhbGx5IG9uZSBp biBleGVjdXRpb24gYW5kIHRoZSBvdGhlciBxdWV1ZWQgdXAgYnkgdGhlIEdQVSk6IFdlCisJICog b25seSByZW1vdmUgZWxlbWVudHMgZnJvbSB0aGUgaGVhZAorCSAqIG9mIHRoZSBxdWV1ZSB3aGVu IHRoZSBoYXJkd2FyZSBpbmZvcm1zIHVzIHRoYXQgYW4gZWxlbWVudCBoYXMgYmVlbgorCSAqIGNv bXBsZXRlZC4KKwkgKgorCSAqIEFsbCBhY2Nlc3NlcyB0byB0aGUgcXVldWUgYXJlIG1lZGlhdGVk IGJ5IGEgc3BpbmxvY2sKKwkgKiAocmluZy0+ZXhlY2xpc3RfbG9jaykuCisJICovCisKKwkvKiog RXhlY2xpc3QgbGluayBpbiB0aGUgc3VibWlzc2lvbiBxdWV1ZS4qLworCXN0cnVjdCBsaXN0X2hl YWQgZXhlY2xpc3RfbGluazsKKworCS8qKiBFeGVjbGlzdHMgd29ya3F1ZXVlIGZvciBwcm9jZXNz aW5nIHRoaXMgcmVxdWVzdCBpbiBhIGJvdHRvbSBoYWxmICovCisJc3RydWN0IHdvcmtfc3RydWN0 IHdvcms7CisKKwkvKiogRXhlY2xpc3RzIG5vLiBvZiB0aW1lcyB0aGlzIHJlcXVlc3QgaGFzIGJl ZW4gc2VudCB0byB0aGUgRUxTUCAqLworCWludCBlbHNwX3N1Ym1pdHRlZDsKKwogfTsKIAogdm9p ZCBpOTE1X2dlbV9yZXF1ZXN0X2ZyZWUoc3RydWN0IGtyZWYgKnJlcV9yZWYpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMKaW5kZXggNTAwMzRjNC4uYWE3MzdmYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jCkBAIC0yNjU4LDE0ICsyNjU4LDE0IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3Jlc2V0X3Jp bmdfY2xlYW51cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJICogcGlubmVk IGluIHBsYWNlLgogCSAqLwogCXdoaWxlICghbGlzdF9lbXB0eSgmcmluZy0+ZXhlY2xpc3RfcXVl dWUpKSB7Ci0JCXN0cnVjdCBpbnRlbF9jdHhfc3VibWl0X3JlcXVlc3QgKnN1Ym1pdF9yZXE7CisJ CXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqc3VibWl0X3JlcTsKIAogCQlzdWJtaXRfcmVx ID0gbGlzdF9maXJzdF9lbnRyeSgmcmluZy0+ZXhlY2xpc3RfcXVldWUsCi0JCQkJc3RydWN0IGlu dGVsX2N0eF9zdWJtaXRfcmVxdWVzdCwKKwkJCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qs CiAJCQkJZXhlY2xpc3RfbGluayk7CiAJCWxpc3RfZGVsKCZzdWJtaXRfcmVxLT5leGVjbGlzdF9s aW5rKTsKIAkJaW50ZWxfcnVudGltZV9wbV9wdXQoZGV2X3ByaXYpOwotCQlpOTE1X2dlbV9jb250 ZXh0X3VucmVmZXJlbmNlKHN1Ym1pdF9yZXEtPnJlcXVlc3QtPmN0eCk7CisJCWk5MTVfZ2VtX2Nv bnRleHRfdW5yZWZlcmVuY2Uoc3VibWl0X3JlcS0+Y3R4KTsKIAkJa2ZyZWUoc3VibWl0X3JlcSk7 CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IDk5ZmNiNTYuLmMzMTJhODMgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC00MDUsOCArNDA1LDggQEAgc3RhdGljIHZvaWQg ZXhlY2xpc3RzX3N1Ym1pdF9jb250ZXh0cyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAog CiBzdGF0aWMgdm9pZCBleGVjbGlzdHNfY29udGV4dF91bnF1ZXVlKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcpCiB7Ci0Jc3RydWN0IGludGVsX2N0eF9zdWJtaXRfcmVxdWVzdCAqcmVxMCA9 IE5VTEwsICpyZXExID0gTlVMTDsKLQlzdHJ1Y3QgaW50ZWxfY3R4X3N1Ym1pdF9yZXF1ZXN0ICpj dXJzb3IgPSBOVUxMLCAqdG1wID0gTlVMTDsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qg KnJlcTAgPSBOVUxMLCAqcmVxMSA9IE5VTEw7CisJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpjdXJzb3IgPSBOVUxMLCAqdG1wID0gTlVMTDsKIAogCWFzc2VydF9zcGluX2xvY2tlZCgmcmlu Zy0+ZXhlY2xpc3RfbG9jayk7CiAKQEAgLTQxOCw3ICs0MTgsNyBAQCBzdGF0aWMgdm9pZCBleGVj bGlzdHNfY29udGV4dF91bnF1ZXVlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJCQkJ IGV4ZWNsaXN0X2xpbmspIHsKIAkJaWYgKCFyZXEwKSB7CiAJCQlyZXEwID0gY3Vyc29yOwotCQl9 IGVsc2UgaWYgKHJlcTAtPnJlcXVlc3QtPmN0eCA9PSBjdXJzb3ItPnJlcXVlc3QtPmN0eCkgewor CQl9IGVsc2UgaWYgKHJlcTAtPmN0eCA9PSBjdXJzb3ItPmN0eCkgewogCQkJLyogU2FtZSBjdHg6 IGlnbm9yZSBmaXJzdCByZXF1ZXN0LCBhcyBzZWNvbmQgcmVxdWVzdAogCQkJICogd2lsbCB1cGRh dGUgdGFpbCBwYXN0IGZpcnN0IHJlcXVlc3QncyB3b3JrbG9hZCAqLwogCQkJY3Vyc29yLT5lbHNw X3N1Ym1pdHRlZCA9IHJlcTAtPmVsc3Bfc3VibWl0dGVkOwpAQCAtNDM0LDkgKzQzNCw5IEBAIHN0 YXRpYyB2b2lkIGV4ZWNsaXN0c19jb250ZXh0X3VucXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluZykKIAogCVdBUk5fT04ocmVxMSAmJiByZXExLT5lbHNwX3N1Ym1pdHRlZCk7CiAKLQll eGVjbGlzdHNfc3VibWl0X2NvbnRleHRzKHJpbmcsIHJlcTAtPnJlcXVlc3QtPmN0eCwgcmVxMC0+ cmVxdWVzdC0+dGFpbCwKLQkJCQkgIHJlcTEgPyByZXExLT5yZXF1ZXN0LT5jdHggOiBOVUxMLAot CQkJCSAgcmVxMSA/IHJlcTEtPnJlcXVlc3QtPnRhaWwgOiAwKTsKKwlleGVjbGlzdHNfc3VibWl0 X2NvbnRleHRzKHJpbmcsIHJlcTAtPmN0eCwgcmVxMC0+dGFpbCwKKwkJCQkgIHJlcTEgPyByZXEx LT5jdHggOiBOVUxMLAorCQkJCSAgcmVxMSA/IHJlcTEtPnRhaWwgOiAwKTsKIAogCXJlcTAtPmVs c3Bfc3VibWl0dGVkKys7CiAJaWYgKHJlcTEpCkBAIC00NDYsMTcgKzQ0NiwxNyBAQCBzdGF0aWMg dm9pZCBleGVjbGlzdHNfY29udGV4dF91bnF1ZXVlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcpCiBzdGF0aWMgYm9vbCBleGVjbGlzdHNfY2hlY2tfcmVtb3ZlX3JlcXVlc3Qoc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqcmluZywKIAkJCQkJICAgdTMyIHJlcXVlc3RfaWQpCiB7Ci0Jc3RydWN0 IGludGVsX2N0eF9zdWJtaXRfcmVxdWVzdCAqaGVhZF9yZXE7CisJc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpoZWFkX3JlcTsKIAogCWFzc2VydF9zcGluX2xvY2tlZCgmcmluZy0+ZXhlY2xp c3RfbG9jayk7CiAKIAloZWFkX3JlcSA9IGxpc3RfZmlyc3RfZW50cnlfb3JfbnVsbCgmcmluZy0+ ZXhlY2xpc3RfcXVldWUsCi0JCQkJCSAgICBzdHJ1Y3QgaW50ZWxfY3R4X3N1Ym1pdF9yZXF1ZXN0 LAorCQkJCQkgICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0LAogCQkJCQkgICAgZXhlY2xp c3RfbGluayk7CiAKIAlpZiAoaGVhZF9yZXEgIT0gTlVMTCkgewogCQlzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqY3R4X29iaiA9Ci0JCQkJaGVhZF9yZXEtPnJlcXVlc3QtPmN0eC0+ZW5naW5l W3JpbmctPmlkXS5zdGF0ZTsKKwkJCQloZWFkX3JlcS0+Y3R4LT5lbmdpbmVbcmluZy0+aWRdLnN0 YXRlOwogCQlpZiAoaW50ZWxfZXhlY2xpc3RzX2N0eF9pZChjdHhfb2JqKSA9PSByZXF1ZXN0X2lk KSB7CiAJCQlXQVJOKGhlYWRfcmVxLT5lbHNwX3N1Ym1pdHRlZCA9PSAwLAogCQkJICAgICAiTmV2 ZXIgc3VibWl0dGVkIGhlYWQgcmVxdWVzdFxuIik7CkBAIC01MzgsMTcgKzUzOCwxMSBAQCBzdGF0 aWMgaW50IGV4ZWNsaXN0c19jb250ZXh0X3F1ZXVlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcsCiAJCQkJICAgdTMyIHRhaWwsCiAJCQkJICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpyZXF1ZXN0KQogewotCXN0cnVjdCBpbnRlbF9jdHhfc3VibWl0X3JlcXVlc3QgKnJlcSA9IE5V TEwsICpjdXJzb3I7CisJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpjdXJzb3I7CiAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gcmluZy0+ZGV2LT5kZXZfcHJpdmF0ZTsK IAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCBudW1fZWxlbWVudHMgPSAwOwogCi0JcmVxID0g a3phbGxvYyhzaXplb2YoKnJlcSksIEdGUF9LRVJORUwpOwotCWlmIChyZXEgPT0gTlVMTCkKLQkJ cmV0dXJuIC1FTk9NRU07Ci0JcmVxLT5jdHggPSB0bzsKLQlpOTE1X2dlbV9jb250ZXh0X3JlZmVy ZW5jZShyZXEtPmN0eCk7Ci0KIAlpZiAodG8gIT0gcmluZy0+ZGVmYXVsdF9jb250ZXh0KQogCQlp bnRlbF9scl9jb250ZXh0X3BpbihyaW5nLCB0byk7CiAKQEAgLTU2Niw5ICs1NjAsOCBAQCBzdGF0 aWMgaW50IGV4ZWNsaXN0c19jb250ZXh0X3F1ZXVlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcsCiAJfSBlbHNlIHsKIAkJV0FSTl9PTih0byAhPSByZXF1ZXN0LT5jdHgpOwogCX0KLQlyZXEt PnJlcXVlc3QgPSByZXF1ZXN0OwogCWk5MTVfZ2VtX3JlcXVlc3RfcmVmZXJlbmNlKHJlcXVlc3Qp OwotCWk5MTVfZ2VtX2NvbnRleHRfcmVmZXJlbmNlKHJlcS0+cmVxdWVzdC0+Y3R4KTsKKwlpOTE1 X2dlbV9jb250ZXh0X3JlZmVyZW5jZShyZXF1ZXN0LT5jdHgpOwogCiAJaW50ZWxfcnVudGltZV9w bV9nZXQoZGV2X3ByaXYpOwogCkBAIC01NzksMTMgKzU3MiwxMyBAQCBzdGF0aWMgaW50IGV4ZWNs aXN0c19jb250ZXh0X3F1ZXVlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJCQlicmVh azsKIAogCWlmIChudW1fZWxlbWVudHMgPiAyKSB7Ci0JCXN0cnVjdCBpbnRlbF9jdHhfc3VibWl0 X3JlcXVlc3QgKnRhaWxfcmVxOworCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnRhaWxf cmVxOwogCiAJCXRhaWxfcmVxID0gbGlzdF9sYXN0X2VudHJ5KCZyaW5nLT5leGVjbGlzdF9xdWV1 ZSwKLQkJCQkJICAgc3RydWN0IGludGVsX2N0eF9zdWJtaXRfcmVxdWVzdCwKKwkJCQkJICAgc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0LAogCQkJCQkgICBleGVjbGlzdF9saW5rKTsKIAotCQlp ZiAodG8gPT0gdGFpbF9yZXEtPnJlcXVlc3QtPmN0eCkgeworCQlpZiAodG8gPT0gdGFpbF9yZXEt PmN0eCkgewogCQkJV0FSTih0YWlsX3JlcS0+ZWxzcF9zdWJtaXR0ZWQgIT0gMCwKIAkJCQkiTW9y ZSB0aGFuIDIgYWxyZWFkeS1zdWJtaXR0ZWQgcmVxcyBxdWV1ZWRcbiIpOwogCQkJbGlzdF9kZWwo JnRhaWxfcmVxLT5leGVjbGlzdF9saW5rKTsKQEAgLTU5NCw3ICs1ODcsNyBAQCBzdGF0aWMgaW50 IGV4ZWNsaXN0c19jb250ZXh0X3F1ZXVlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJ CX0KIAl9CiAKLQlsaXN0X2FkZF90YWlsKCZyZXEtPmV4ZWNsaXN0X2xpbmssICZyaW5nLT5leGVj bGlzdF9xdWV1ZSk7CisJbGlzdF9hZGRfdGFpbCgmcmVxdWVzdC0+ZXhlY2xpc3RfbGluaywgJnJp bmctPmV4ZWNsaXN0X3F1ZXVlKTsKIAlpZiAobnVtX2VsZW1lbnRzID09IDApCiAJCWV4ZWNsaXN0 c19jb250ZXh0X3VucXVldWUocmluZyk7CiAKQEAgLTc2Myw3ICs3NTYsNyBAQCBpbnQgaW50ZWxf ZXhlY2xpc3RzX3N1Ym1pc3Npb24oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9m aWxlICpmaWxlLAogCiB2b2lkIGludGVsX2V4ZWNsaXN0c19yZXRpcmVfcmVxdWVzdHMoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqcmluZykKIHsKLQlzdHJ1Y3QgaW50ZWxfY3R4X3N1Ym1pdF9yZXF1 ZXN0ICpyZXEsICp0bXA7CisJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsICp0bXA7 CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gcmluZy0+ZGV2LT5kZXZfcHJp dmF0ZTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXN0cnVjdCBsaXN0X2hlYWQgcmV0aXJlZF9s aXN0OwpAQCAtNzc4LDcgKzc3MSw3IEBAIHZvaWQgaW50ZWxfZXhlY2xpc3RzX3JldGlyZV9yZXF1 ZXN0cyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogCXNwaW5fdW5sb2NrX2lycXJlc3Rv cmUoJnJpbmctPmV4ZWNsaXN0X2xvY2ssIGZsYWdzKTsKIAogCWxpc3RfZm9yX2VhY2hfZW50cnlf c2FmZShyZXEsIHRtcCwgJnJldGlyZWRfbGlzdCwgZXhlY2xpc3RfbGluaykgewotCQlzdHJ1Y3Qg aW50ZWxfY29udGV4dCAqY3R4ID0gcmVxLT5yZXF1ZXN0LT5jdHg7CisJCXN0cnVjdCBpbnRlbF9j b250ZXh0ICpjdHggPSByZXEtPmN0eDsKIAkJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0 eF9vYmogPQogCQkJCWN0eC0+ZW5naW5lW3JpbmctPmlkXS5zdGF0ZTsKIApAQCAtNzg2LDkgKzc3 OSw4IEBAIHZvaWQgaW50ZWxfZXhlY2xpc3RzX3JldGlyZV9yZXF1ZXN0cyhzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICpyaW5nKQogCQkJaW50ZWxfbHJfY29udGV4dF91bnBpbihyaW5nLCBjdHgpOwog CQlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7CiAJCWk5MTVfZ2VtX2NvbnRleHRfdW5y ZWZlcmVuY2UoY3R4KTsKLQkJaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZShyZXEtPnJlcXVl c3QpOworCQlpOTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlKHJlcSk7CiAJCWxpc3RfZGVsKCZy ZXEtPmV4ZWNsaXN0X2xpbmspOwotCQlrZnJlZShyZXEpOwogCX0KIH0KIAotLSAKMi4xLjEKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==