From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v2 01/13] drm/i915: Split the gamma/csc enable bits from the plane_ctl() function Date: Tue, 5 Feb 2019 18:08:36 +0200 Message-ID: <20190205160848.24662-2-ville.syrjala@linux.intel.com> References: <20190205160848.24662-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1332E89DEC for ; Tue, 5 Feb 2019 16:08:56 +0000 (UTC) In-Reply-To: <20190205160848.24662-1-ville.syrjala@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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCk9u IGc0eCsgdGhlIHBpcGUgZ2FtbWEgZW5hYmxlIGJpdCBmb3IgdGhlIHByaW1hcnkgcGxhbmUgYWZm ZWN0cwp0aGUgcGlwZSBib3R0b20gY29sb3IgYXMgd2VsbC4gVGhlIHNhbWUgZm9yIHRoZSBwaXBl IGNzYyBlbmFibGUKYml0IG9uIGlsaysuIFRodXMgd2UgbXVzdCBjb25maWd1cmUgdGhvc2UgYml0 cyBjb3JyZWN0bHkgZXZlbgp3aGVuIHRoZSBwcmltYXJ5IHBsYW5lIGlzIGRpc2FibGVkLgoKVG8g bWFrZSB0aGUgZmVhc2libGUgbGV0J3Mgc3BsaXQgdGhvc2Ugc2V0dGluZ3MgZnJvbSB0aGUKcGxh bmVfY3RsKCkgZnVuY3Rpb24gaW50byBhIHNlcHJhdGUgZnVuY2l0b24gdGhhdCB3ZSBjYW4KY2Fs bCBmcm9tIHRoZSAtPmRpc2FibGVfcGxhbmUoKSBob29rIGFzIHdlbGwuCgpGb3IgY29uc2lzdGVu Y3kgd2UnbGwgZG8gdGhhdCBvbiBhbGwgdGhlIHBsYW5lIHR5cGVzLiBXaGlsZQp0aGF0IGhhcyBu byByZWFsIGJlbmVmaXRzIGF0IHRoaXMgdGltZSwgaXQnbGwgYmVjb21lIHVzZWZ1bAp3aGVuIHdl IHN0YXJ0IHRvIGNvbnRyb2wgdGhlIHBpcGUgZ2FtbWEvY3NjIGVuYWJsZSBiaXRzCmR5bmFtaWNh bGx5IHdoZW4gd2Ugb3ZlcmhhdWwgdGhlIGNvbG9yIG1hbmFnZW1lbnQgY29kZS4KCk9uIHByZS1n NHggdGhlcmUgZG9lc24ndCBhcHBlYXIgdG8gYmUgYW55IHdheSB0byBnYW1tYQpjb3JyZWN0IHRo ZSBwaXBlIGJvdHRvbSBjb2xvciwgYnV0IHN0aWNraW5nIHRvIHRoZSBzYW1lCnBhdHRlcm4gZG9l c24ndCBodXJ0LiBBbmQgaXQnbGwgc3RpbGwgaGVscCB1cyB0byBkbwpjcnRjIHN0YXRlIHJlYWRv dXQgY29ycmVjdGx5IGZvciB0aGUgcGlwZSBnYW1tYSBlbmFibGUKYml0IGZvciB0aGUgY29sb3Ig bWFuYWdlbWVudCBvdmVyaGF1bC4KCkFuIGFsdGVybmF0aXZlIGFwcG9yYWNoIHdvdWxkIGJlIHRv IHN0aWxsIHByZWNvbXB1dGUgdGhlc2UKYml0cyBpbnRvIHBsYW5lX3N0YXRlLT5jdGwsIGJ1dCB0 aGF0IHdvdWxkIHJlcXVpcmUgdGhhdCB3ZQpydW4gdGhyb3VnaCB0aGUgcGxhbmUgY2hlY2sgZXZl biB3aGVuIHRoZSBwbGFuZSBpc24ndCBsb2dpY2FsbHkKZW5hYmxlZCBvbiBhbnkgY3J0Yy4gQ3Vy cmVudGx5IHRoYXQgY29uZGl0aW9uIGNhdXNlcyB1cyB0bwpzaG9ydCBjaXJjdWl0IHRoZSBlbnRp cmUgdGhpbmcgYW5kIG5vdCBjYWxsIC0+Y2hlY2tfcGxhbmUoKS4KVGhlcmUgd291bGQgYWxzbyBi ZSBzb21lIGNoaWNrZW4gYW5kIGVnZyBwcm9ibGVtcyB3aXRoCi0+Y2hlY2tfcGxhbmUoKSB2cy4g Y3J0YyBjb2xvciBzdGF0ZSBjaGVjayB0aGF0IHdvdWxkCnJlcXVpdGUgc3BsaXR0aW5nIGNlcnRh aW4gdGhpbmdzIGludG8gbXVsdGlwbGUgc3RlcHMuClNvIGFsbCBpbiBhbGwgdGhpcyBzZWVtcyBs aWtlIHRoZSBlYXNpZXIgcm91dGUuCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZp bGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYyB8IDEyOCArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAgMyArLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfc3ByaXRlLmMgIHwgIDU0ICsrKysrKysrLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDEz OSBpbnNlcnRpb25zKCspLCA0NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKaW5kZXggZGY3YTdhMzEwZjJmLi4zN2ZkZDE1YzU5OGMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTMyMTUsMjggKzMyMTUsMzggQEAgaTl4eF9wbGFuZV9t YXhfc3RyaWRlKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJfQogfQogCitzdGF0aWMgdTMy IGk5eHhfcGxhbmVfY3RsX2NydGMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCit7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNf c3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShjcnRjLT5iYXNlLmRldik7CisJdTMyIGRzcGNudHIgPSAwOworCisJZHNwY250ciB8 PSBESVNQUExBTkVfR0FNTUFfRU5BQkxFOworCisJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpIHx8 IElTX0JST0FEV0VMTChkZXZfcHJpdikpCisJCWRzcGNudHIgfD0gRElTUFBMQU5FX1BJUEVfQ1ND X0VOQUJMRTsKKworCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgNSkKKwkJZHNwY250ciB8PSBE SVNQUExBTkVfU0VMX1BJUEUoY3J0Yy0+cGlwZSk7CisKKwlyZXR1cm4gZHNwY250cjsKK30KKwog c3RhdGljIHUzMiBpOXh4X3BsYW5lX2N0bChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSwKIAkJCSAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9z dGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPQogCQl0b19pOTE1 KHBsYW5lX3N0YXRlLT5iYXNlLnBsYW5lLT5kZXYpOwotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRj ID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwogCWNvbnN0IHN0cnVjdCBk cm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmVfc3RhdGUtPmJhc2UuZmI7CiAJdW5zaWduZWQgaW50 IHJvdGF0aW9uID0gcGxhbmVfc3RhdGUtPmJhc2Uucm90YXRpb247CiAJdTMyIGRzcGNudHI7CiAK LQlkc3BjbnRyID0gRElTUExBWV9QTEFORV9FTkFCTEUgfCBESVNQUExBTkVfR0FNTUFfRU5BQkxF OworCWRzcGNudHIgPSBESVNQTEFZX1BMQU5FX0VOQUJMRTsKIAogCWlmIChJU19HNFgoZGV2X3By aXYpIHx8IElTX0dFTihkZXZfcHJpdiwgNSkgfHwKIAkgICAgSVNfR0VOKGRldl9wcml2LCA2KSB8 fCBJU19JVllCUklER0UoZGV2X3ByaXYpKQogCQlkc3BjbnRyIHw9IERJU1BQTEFORV9UUklDS0xF X0ZFRURfRElTQUJMRTsKIAotCWlmIChJU19IQVNXRUxMKGRldl9wcml2KSB8fCBJU19CUk9BRFdF TEwoZGV2X3ByaXYpKQotCQlkc3BjbnRyIHw9IERJU1BQTEFORV9QSVBFX0NTQ19FTkFCTEU7Ci0K LQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDUpCi0JCWRzcGNudHIgfD0gRElTUFBMQU5FX1NF TF9QSVBFKGNydGMtPnBpcGUpOwotCiAJc3dpdGNoIChmYi0+Zm9ybWF0LT5mb3JtYXQpIHsKIAlj YXNlIERSTV9GT1JNQVRfQzg6CiAJCWRzcGNudHIgfD0gRElTUFBMQU5FXzhCUFA7CkBAIC0zMzY0 LDExICszMzc0LDEzIEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX3BsYW5lKHN0cnVjdCBpbnRl bF9wbGFuZSAqcGxhbmUsCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShwbGFuZS0+YmFzZS5kZXYpOwogCWVudW0gaTl4eF9wbGFuZV9pZCBpOXh4X3BsYW5lID0g cGxhbmUtPmk5eHhfcGxhbmU7CiAJdTMyIGxpbmVhcl9vZmZzZXQ7Ci0JdTMyIGRzcGNudHIgPSBw bGFuZV9zdGF0ZS0+Y3RsOwogCWludCB4ID0gcGxhbmVfc3RhdGUtPmNvbG9yX3BsYW5lWzBdLng7 CiAJaW50IHkgPSBwbGFuZV9zdGF0ZS0+Y29sb3JfcGxhbmVbMF0ueTsKIAl1bnNpZ25lZCBsb25n IGlycWZsYWdzOwogCXUzMiBkc3BhZGRyX29mZnNldDsKKwl1MzIgZHNwY250cjsKKworCWRzcGNu dHIgPSBwbGFuZV9zdGF0ZS0+Y3RsIHwgaTl4eF9wbGFuZV9jdGxfY3J0YyhjcnRjX3N0YXRlKTsK IAogCWxpbmVhcl9vZmZzZXQgPSBpbnRlbF9mYl94eV90b19saW5lYXIoeCwgeSwgcGxhbmVfc3Rh dGUsIDApOwogCkBAIC0zNDI4LDEwICszNDQwLDIzIEBAIHN0YXRpYyB2b2lkIGk5eHhfZGlzYWJs ZV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUocGxhbmUtPmJhc2UuZGV2KTsKIAllbnVtIGk5eHhfcGxh bmVfaWQgaTl4eF9wbGFuZSA9IHBsYW5lLT5pOXh4X3BsYW5lOwogCXVuc2lnbmVkIGxvbmcgaXJx ZmxhZ3M7CisJdTMyIGRzcGNudHI7CisKKwkvKgorCSAqIERTUENOVFIgcGlwZSBnYW1tYSBlbmFi bGUgb24gZzR4KyBhbmQgcGlwZSBjc2MKKwkgKiBlbmFibGUgb24gaWxrKyBhZmZlY3QgdGhlIHBp cGUgYm90dG9tIGNvbG9yIGFzCisJICogd2VsbCwgc28gd2UgbXVzdCBjb25maWd1cmUgdGhlbSBl dmVuIGlmIHRoZSBwbGFuZQorCSAqIGlzIGRpc2FibGVkLgorCSAqCisJICogT24gcHJlLWc0eCB0 aGVyZSBpcyBubyB3YXkgdG8gZ2FtbWEgY29ycmVjdCB0aGUKKwkgKiBwaXBlIGJvdHRvbSBjb2xv ciBidXQgd2UnbGwga2VlcCBvbiBkb2luZyB0aGlzCisJICogYW55d2F5LgorCSAqLworCWRzcGNu dHIgPSBpOXh4X3BsYW5lX2N0bF9jcnRjKGNydGNfc3RhdGUpOwogCiAJc3Bpbl9sb2NrX2lycXNh dmUoJmRldl9wcml2LT51bmNvcmUubG9jaywgaXJxZmxhZ3MpOwogCi0JSTkxNV9XUklURV9GVyhE U1BDTlRSKGk5eHhfcGxhbmUpLCAwKTsKKwlJOTE1X1dSSVRFX0ZXKERTUENOVFIoaTl4eF9wbGFu ZSksIGRzcGNudHIpOwogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDQpCiAJCUk5MTVfV1JJ VEVfRlcoRFNQU1VSRihpOXh4X3BsYW5lKSwgMCk7CiAJZWxzZQpAQCAtMzY2OCw2ICszNjkzLDIw IEBAIHN0YXRpYyB1MzIgY25sX3BsYW5lX2N0bF9mbGlwKHVuc2lnbmVkIGludCByZWZsZWN0KQog CXJldHVybiAwOwogfQogCit1MzIgc2tsX3BsYW5lX2N0bF9jcnRjKGNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOworCXUzMiBwbGFu ZV9jdGwgPSAwOworCisJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5J TEFLRShkZXZfcHJpdikpCisJCXJldHVybiBwbGFuZV9jdGw7CisKKwlwbGFuZV9jdGwgfD0gUExB TkVfQ1RMX1BJUEVfR0FNTUFfRU5BQkxFOworCXBsYW5lX2N0bCB8PSBQTEFORV9DVExfUElQRV9D U0NfRU5BQkxFOworCisJcmV0dXJuIHBsYW5lX2N0bDsKK30KKwogdTMyIHNrbF9wbGFuZV9jdGwo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCSAgY29uc3Qgc3Ry dWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKIHsKQEAgLTM2ODIsMTAgKzM3MjEs NyBAQCB1MzIgc2tsX3BsYW5lX2N0bChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSwKIAogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgMTAgJiYgIUlTX0dFTUlOSUxB S0UoZGV2X3ByaXYpKSB7CiAJCXBsYW5lX2N0bCB8PSBza2xfcGxhbmVfY3RsX2FscGhhKHBsYW5l X3N0YXRlKTsKLQkJcGxhbmVfY3RsIHw9Ci0JCQlQTEFORV9DVExfUElQRV9HQU1NQV9FTkFCTEUg fAotCQkJUExBTkVfQ1RMX1BJUEVfQ1NDX0VOQUJMRSB8Ci0JCQlQTEFORV9DVExfUExBTkVfR0FN TUFfRElTQUJMRTsKKwkJcGxhbmVfY3RsIHw9IFBMQU5FX0NUTF9QTEFORV9HQU1NQV9ESVNBQkxF OwogCiAJCWlmIChwbGFuZV9zdGF0ZS0+YmFzZS5jb2xvcl9lbmNvZGluZyA9PSBEUk1fQ09MT1Jf WUNCQ1JfQlQ3MDkpCiAJCQlwbGFuZV9jdGwgfD0gUExBTkVfQ1RMX1lVVl9UT19SR0JfQ1NDX0ZP Uk1BVF9CVDcwOTsKQEAgLTM3MTAsMTkgKzM3NDYsMjcgQEAgdTMyIHNrbF9wbGFuZV9jdGwoY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJcmV0dXJuIHBsYW5lX2N0 bDsKIH0KIAordTMyIGdsa19wbGFuZV9jb2xvcl9jdGxfY3J0Yyhjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKKwl1MzIgcGxhbmVf Y29sb3JfY3RsID0gMDsKKworCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKQorCQlyZXR1 cm4gcGxhbmVfY29sb3JfY3RsOworCisJcGxhbmVfY29sb3JfY3RsIHw9IFBMQU5FX0NPTE9SX1BJ UEVfR0FNTUFfRU5BQkxFOworCXBsYW5lX2NvbG9yX2N0bCB8PSBQTEFORV9DT0xPUl9QSVBFX0NT Q19FTkFCTEU7CisKKwlyZXR1cm4gcGxhbmVfY29sb3JfY3RsOworfQorCiB1MzIgZ2xrX3BsYW5l X2NvbG9yX2N0bChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJ CWNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCiB7Ci0Jc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0KLQkJdG9faTkxNShwbGFuZV9zdGF0ZS0+YmFz ZS5wbGFuZS0+ZGV2KTsKIAljb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5l X3N0YXRlLT5iYXNlLmZiOwogCXN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUgPSB0b19pbnRlbF9w bGFuZShwbGFuZV9zdGF0ZS0+YmFzZS5wbGFuZSk7CiAJdTMyIHBsYW5lX2NvbG9yX2N0bCA9IDA7 CiAKLQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDExKSB7Ci0JCXBsYW5lX2NvbG9yX2N0bCB8 PSBQTEFORV9DT0xPUl9QSVBFX0dBTU1BX0VOQUJMRTsKLQkJcGxhbmVfY29sb3JfY3RsIHw9IFBM QU5FX0NPTE9SX1BJUEVfQ1NDX0VOQUJMRTsKLQl9CiAJcGxhbmVfY29sb3JfY3RsIHw9IFBMQU5F X0NPTE9SX1BMQU5FX0dBTU1BX0RJU0FCTEU7CiAJcGxhbmVfY29sb3JfY3RsIHw9IGdsa19wbGFu ZV9jb2xvcl9jdGxfYWxwaGEocGxhbmVfc3RhdGUpOwogCkBAIC05OTI3LDExICs5OTcxLDE1IEBA IGk4NDVfY3Vyc29yX21heF9zdHJpZGUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKIAlyZXR1 cm4gMjA0ODsKIH0KIAorc3RhdGljIHUzMiBpODQ1X2N1cnNvcl9jdGxfY3J0Yyhjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKK3sKKwlyZXR1cm4gQ1VSU09SX0dBTU1B X0VOQUJMRTsKK30KKwogc3RhdGljIHUzMiBpODQ1X2N1cnNvcl9jdGwoY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgICBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxh bmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogewogCXJldHVybiBDVVJTT1JfRU5BQkxFIHwKLQkJQ1VS U09SX0dBTU1BX0VOQUJMRSB8CiAJCUNVUlNPUl9GT1JNQVRfQVJHQiB8CiAJCUNVUlNPUl9TVFJJ REUocGxhbmVfc3RhdGUtPmNvbG9yX3BsYW5lWzBdLnN0cmlkZSk7CiB9CkBAIC0xMDAwMSw3ICsx MDA0OSw5IEBAIHN0YXRpYyB2b2lkIGk4NDVfdXBkYXRlX2N1cnNvcihzdHJ1Y3QgaW50ZWxfcGxh bmUgKnBsYW5lLAogCQl1bnNpZ25lZCBpbnQgd2lkdGggPSBwbGFuZV9zdGF0ZS0+YmFzZS5jcnRj X3c7CiAJCXVuc2lnbmVkIGludCBoZWlnaHQgPSBwbGFuZV9zdGF0ZS0+YmFzZS5jcnRjX2g7CiAK LQkJY250bCA9IHBsYW5lX3N0YXRlLT5jdGw7CisJCWNudGwgPSBwbGFuZV9zdGF0ZS0+Y3RsIHwK KwkJCWk4NDVfY3Vyc29yX2N0bF9jcnRjKGNydGNfc3RhdGUpOworCiAJCXNpemUgPSAoaGVpZ2h0 IDw8IDEyKSB8IHdpZHRoOwogCiAJCWJhc2UgPSBpbnRlbF9jdXJzb3JfYmFzZShwbGFuZV9zdGF0 ZSk7CkBAIC0xMDA2OCwyNyArMTAxMTgsMzYgQEAgaTl4eF9jdXJzb3JfbWF4X3N0cmlkZShzdHJ1 Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAogCXJldHVybiBwbGFuZS0+YmFzZS5kZXYtPm1vZGVfY29u ZmlnLmN1cnNvcl93aWR0aCAqIDQ7CiB9CiAKLXN0YXRpYyB1MzIgaTl4eF9jdXJzb3JfY3RsKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAotCQkJICAgY29uc3Qgc3Ry dWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKK3N0YXRpYyB1MzIgaTl4eF9jdXJz b3JfY3RsX2NydGMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7 Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0KLQkJdG9faTkxNShwbGFuZV9z dGF0ZS0+YmFzZS5wbGFuZS0+ZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2lu dGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAl1MzIgY250bCA9IDA7CiAK LQlpZiAoSVNfR0VOKGRldl9wcml2LCA2KSB8fCBJU19JVllCUklER0UoZGV2X3ByaXYpKQotCQlj bnRsIHw9IE1DVVJTT1JfVFJJQ0tMRV9GRUVEX0RJU0FCTEU7CisJaWYgKElOVEVMX0dFTihkZXZf cHJpdikgPj0gMTEpCisJCXJldHVybiBjbnRsOwogCi0JaWYgKElOVEVMX0dFTihkZXZfcHJpdikg PD0gMTApIHsKLQkJY250bCB8PSBNQ1VSU09SX0dBTU1BX0VOQUJMRTsKKwljbnRsIHw9IE1DVVJT T1JfR0FNTUFfRU5BQkxFOwogCi0JCWlmIChIQVNfRERJKGRldl9wcml2KSkKLQkJCWNudGwgfD0g TUNVUlNPUl9QSVBFX0NTQ19FTkFCTEU7Ci0JfQorCWlmIChIQVNfRERJKGRldl9wcml2KSkKKwkJ Y250bCB8PSBNQ1VSU09SX1BJUEVfQ1NDX0VOQUJMRTsKIAogCWlmIChJTlRFTF9HRU4oZGV2X3By aXYpIDwgNSAmJiAhSVNfRzRYKGRldl9wcml2KSkKIAkJY250bCB8PSBNQ1VSU09SX1BJUEVfU0VM RUNUKGNydGMtPnBpcGUpOwogCisJcmV0dXJuIGNudGw7Cit9CisKK3N0YXRpYyB1MzIgaTl4eF9j dXJzb3JfY3RsKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAorCQkJ ICAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKK3sKKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPQorCQl0b19pOTE1KHBsYW5lX3N0YXRlLT5i YXNlLnBsYW5lLT5kZXYpOworCXUzMiBjbnRsID0gMDsKKworCWlmIChJU19HRU4oZGV2X3ByaXYs IDYpIHx8IElTX0lWWUJSSURHRShkZXZfcHJpdikpCisJCWNudGwgfD0gTUNVUlNPUl9UUklDS0xF X0ZFRURfRElTQUJMRTsKKwogCXN3aXRjaCAocGxhbmVfc3RhdGUtPmJhc2UuY3J0Y193KSB7CiAJ Y2FzZSA2NDoKIAkJY250bCB8PSBNQ1VSU09SX01PREVfNjRfQVJHQl9BWDsKQEAgLTEwMjEzLDcg KzEwMjcyLDggQEAgc3RhdGljIHZvaWQgaTl4eF91cGRhdGVfY3Vyc29yKHN0cnVjdCBpbnRlbF9w bGFuZSAqcGxhbmUsCiAJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsKIAogCWlmIChwbGFuZV9zdGF0 ZSAmJiBwbGFuZV9zdGF0ZS0+YmFzZS52aXNpYmxlKSB7Ci0JCWNudGwgPSBwbGFuZV9zdGF0ZS0+ Y3RsOworCQljbnRsID0gcGxhbmVfc3RhdGUtPmN0bCB8CisJCQlpOXh4X2N1cnNvcl9jdGxfY3J0 YyhjcnRjX3N0YXRlKTsKIAogCQlpZiAocGxhbmVfc3RhdGUtPmJhc2UuY3J0Y19oICE9IHBsYW5l X3N0YXRlLT5iYXNlLmNydGNfdykKIAkJCWZiY19jdGwgPSBDVVJfRkJDX0NUTF9FTiB8IChwbGFu ZV9zdGF0ZS0+YmFzZS5jcnRjX2ggLSAxKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXgg OTBiYTU0MzYzNzBlLi5kNDk2ZWZmNmZkZDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBA IC0xNzU2LDkgKzE3NTYsMTAgQEAgc3RhdGljIGlubGluZSB1MzIgaW50ZWxfcGxhbmVfZ2d0dF9v ZmZzZXQoY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZSkKIAogdTMyIGdsa19w bGFuZV9jb2xvcl9jdGwoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs CiAJCQljb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKTsKK3UzMiBn bGtfcGxhbmVfY29sb3JfY3RsX2NydGMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUpOwogdTMyIHNrbF9wbGFuZV9jdGwoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCiAJCSAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFu ZV9zdGF0ZSk7Ci11MzIgZ2xrX2NvbG9yX2N0bChjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3Rh dGUgKnBsYW5lX3N0YXRlKTsKK3UzMiBza2xfcGxhbmVfY3RsX2NydGMoY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwogdTMyIHNrbF9wbGFuZV9zdHJpZGUoY29uc3Qg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSwKIAkJICAgICBpbnQgcGxhbmUp OwogaW50IHNrbF9jaGVja19wbGFuZV9zdXJmYWNlKHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAq cGxhbmVfc3RhdGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3By aXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwppbmRleCBjZDQyZTgx ZjhhOTAuLmI1NmExYTlhZDAxZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfc3ByaXRlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKQEAg LTQ4NCw5ICs0ODQsMTYgQEAgc2tsX3Byb2dyYW1fcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpw bGFuZSwKIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmxpbmtlZCA9IHBsYW5lX3N0YXRlLT5saW5rZWRf cGxhbmU7CiAJY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwbGFuZV9zdGF0ZS0+ YmFzZS5mYjsKIAl1OCBhbHBoYSA9IHBsYW5lX3N0YXRlLT5iYXNlLmFscGhhID4+IDg7CisJdTMy IHBsYW5lX2NvbG9yX2N0bCA9IDA7CiAJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsKIAl1MzIga2V5 bXNrLCBrZXltYXg7CiAKKwlwbGFuZV9jdGwgfD0gc2tsX3BsYW5lX2N0bF9jcnRjKGNydGNfc3Rh dGUpOworCisJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTAgfHwgSVNfR0VNSU5JTEFLRShk ZXZfcHJpdikpCisJCXBsYW5lX2NvbG9yX2N0bCA9IHBsYW5lX3N0YXRlLT5jb2xvcl9jdGwgfAor CQkJZ2xrX3BsYW5lX2NvbG9yX2N0bF9jcnRjKGNydGNfc3RhdGUpOworCiAJLyogU2l6ZXMgYXJl IDAgYmFzZWQgKi8KIAlzcmNfdy0tOwogCXNyY19oLS07CkBAIC01MzMsOCArNTQwLDcgQEAgc2ts X3Byb2dyYW1fcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKIAl9CiAKIAlpZiAoSU5U RUxfR0VOKGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2KSkKLQkJSTkx NV9XUklURV9GVyhQTEFORV9DT0xPUl9DVEwocGlwZSwgcGxhbmVfaWQpLAotCQkJICAgICAgcGxh bmVfc3RhdGUtPmNvbG9yX2N0bCk7CisJCUk5MTVfV1JJVEVfRlcoUExBTkVfQ09MT1JfQ1RMKHBp cGUsIHBsYW5lX2lkKSwgcGxhbmVfY29sb3JfY3RsKTsKIAogCWlmIChmYi0+Zm9ybWF0LT5pc195 dXYgJiYgaWNsX2lzX2hkcl9wbGFuZShwbGFuZSkpCiAJCWljbF9wcm9ncmFtX2lucHV0X2NzYyhw bGFuZSwgY3J0Y19zdGF0ZSwgcGxhbmVfc3RhdGUpOwpAQCAtNzMzLDYgKzczOSwxMSBAQCB2bHZf dXBkYXRlX2NscmMoY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkK IAkJICAgICAgU1BfU0hfU0lOKHNoX3NpbikgfCBTUF9TSF9DT1Moc2hfY29zKSk7CiB9CiAKK3N0 YXRpYyB1MzIgdmx2X3Nwcml0ZV9jdGxfY3J0Yyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKK3sKKwlyZXR1cm4gU1BfR0FNTUFfRU5BQkxFOworfQorCiBzdGF0aWMg dTMyIHZsdl9zcHJpdGVfY3RsKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlLAogCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQog ewpAQCAtNzQxLDcgKzc1Miw3IEBAIHN0YXRpYyB1MzIgdmx2X3Nwcml0ZV9jdGwoY29uc3Qgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJY29uc3Qgc3RydWN0IGRybV9pbnRl bF9zcHJpdGVfY29sb3JrZXkgKmtleSA9ICZwbGFuZV9zdGF0ZS0+Y2tleTsKIAl1MzIgc3ByY3Rs OwogCi0Jc3ByY3RsID0gU1BfRU5BQkxFIHwgU1BfR0FNTUFfRU5BQkxFOworCXNwcmN0bCA9IFNQ X0VOQUJMRTsKIAogCXN3aXRjaCAoZmItPmZvcm1hdC0+Zm9ybWF0KSB7CiAJY2FzZSBEUk1fRk9S TUFUX1lVWVY6CkBAIC04MDgsNyArODE5LDYgQEAgdmx2X3VwZGF0ZV9wbGFuZShzdHJ1Y3QgaW50 ZWxfcGxhbmUgKnBsYW5lLAogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUocGxhbmUtPmJhc2UuZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9IHBsYW5lLT5waXBlOwog CWVudW0gcGxhbmVfaWQgcGxhbmVfaWQgPSBwbGFuZS0+aWQ7Ci0JdTMyIHNwcmN0bCA9IHBsYW5l X3N0YXRlLT5jdGw7CiAJdTMyIHNwcnN1cmZfb2Zmc2V0ID0gcGxhbmVfc3RhdGUtPmNvbG9yX3Bs YW5lWzBdLm9mZnNldDsKIAl1MzIgbGluZWFyX29mZnNldDsKIAljb25zdCBzdHJ1Y3QgZHJtX2lu dGVsX3Nwcml0ZV9jb2xvcmtleSAqa2V5ID0gJnBsYW5lX3N0YXRlLT5ja2V5OwpAQCAtODE5LDYg KzgyOSw5IEBAIHZsdl91cGRhdGVfcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwKIAl1 MzIgeCA9IHBsYW5lX3N0YXRlLT5jb2xvcl9wbGFuZVswXS54OwogCXUzMiB5ID0gcGxhbmVfc3Rh dGUtPmNvbG9yX3BsYW5lWzBdLnk7CiAJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsKKwl1MzIgc3By Y3RsOworCisJc3ByY3RsID0gcGxhbmVfc3RhdGUtPmN0bCB8IHZsdl9zcHJpdGVfY3RsX2NydGMo Y3J0Y19zdGF0ZSk7CiAKIAkvKiBTaXplcyBhcmUgMCBiYXNlZCAqLwogCWNydGNfdy0tOwpAQCAt OTAxLDYgKzkxNCwxOSBAQCB2bHZfcGxhbmVfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9wbGFu ZSAqcGxhbmUsCiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIHUzMiBpdmJfc3ByaXRlX2N0bF9j cnRjKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQoreworCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5j cnRjLT5kZXYpOworCXUzMiBzcHJjdGwgPSAwOworCisJc3ByY3RsIHw9IFNQUklURV9HQU1NQV9F TkFCTEU7CisKKwlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgfHwgSVNfQlJPQURXRUxMKGRldl9w cml2KSkKKwkJc3ByY3RsIHw9IFNQUklURV9QSVBFX0NTQ19FTkFCTEU7CisKKwlyZXR1cm4gc3By Y3RsOworfQorCiBzdGF0aWMgdTMyIGl2Yl9zcHJpdGVfY3RsKGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3Rh dGUgKnBsYW5lX3N0YXRlKQogewpAQCAtOTExLDE0ICs5MzcsMTEgQEAgc3RhdGljIHUzMiBpdmJf c3ByaXRlX2N0bChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAlj b25zdCBzdHJ1Y3QgZHJtX2ludGVsX3Nwcml0ZV9jb2xvcmtleSAqa2V5ID0gJnBsYW5lX3N0YXRl LT5ja2V5OwogCXUzMiBzcHJjdGw7CiAKLQlzcHJjdGwgPSBTUFJJVEVfRU5BQkxFIHwgU1BSSVRF X0dBTU1BX0VOQUJMRTsKKwlzcHJjdGwgPSBTUFJJVEVfRU5BQkxFOwogCiAJaWYgKElTX0lWWUJS SURHRShkZXZfcHJpdikpCiAJCXNwcmN0bCB8PSBTUFJJVEVfVFJJQ0tMRV9GRUVEX0RJU0FCTEU7 CiAKLQlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgfHwgSVNfQlJPQURXRUxMKGRldl9wcml2KSkK LQkJc3ByY3RsIHw9IFNQUklURV9QSVBFX0NTQ19FTkFCTEU7Ci0KIAlzd2l0Y2ggKGZiLT5mb3Jt YXQtPmZvcm1hdCkgewogCWNhc2UgRFJNX0ZPUk1BVF9YQkdSODg4ODoKIAkJc3ByY3RsIHw9IFNQ UklURV9GT1JNQVRfUkdCWDg4OCB8IFNQUklURV9SR0JfT1JERVJfUkdCWDsKQEAgLTk3MCw3ICs5 OTMsNiBAQCBpdmJfdXBkYXRlX3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiB7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShwbGFuZS0+YmFzZS5k ZXYpOwogCWVudW0gcGlwZSBwaXBlID0gcGxhbmUtPnBpcGU7Ci0JdTMyIHNwcmN0bCA9IHBsYW5l X3N0YXRlLT5jdGwsIHNwcnNjYWxlID0gMDsKIAl1MzIgc3Byc3VyZl9vZmZzZXQgPSBwbGFuZV9z dGF0ZS0+Y29sb3JfcGxhbmVbMF0ub2Zmc2V0OwogCXUzMiBsaW5lYXJfb2Zmc2V0OwogCWNvbnN0 IHN0cnVjdCBkcm1faW50ZWxfc3ByaXRlX2NvbG9ya2V5ICprZXkgPSAmcGxhbmVfc3RhdGUtPmNr ZXk7CkBAIC05ODIsOCArMTAwNCwxMSBAQCBpdmJfdXBkYXRlX3BsYW5lKHN0cnVjdCBpbnRlbF9w bGFuZSAqcGxhbmUsCiAJdTMyIHkgPSBwbGFuZV9zdGF0ZS0+Y29sb3JfcGxhbmVbMF0ueTsKIAl1 MzIgc3JjX3cgPSBkcm1fcmVjdF93aWR0aCgmcGxhbmVfc3RhdGUtPmJhc2Uuc3JjKSA+PiAxNjsK IAl1MzIgc3JjX2ggPSBkcm1fcmVjdF9oZWlnaHQoJnBsYW5lX3N0YXRlLT5iYXNlLnNyYykgPj4g MTY7CisJdTMyIHNwcmN0bCwgc3Byc2NhbGUgPSAwOwogCXVuc2lnbmVkIGxvbmcgaXJxZmxhZ3M7 CiAKKwlzcHJjdGwgPSBwbGFuZV9zdGF0ZS0+Y3RsIHwgaXZiX3Nwcml0ZV9jdGxfY3J0YyhjcnRj X3N0YXRlKTsKKwogCS8qIFNpemVzIGFyZSAwIGJhc2VkICovCiAJc3JjX3ctLTsKIAlzcmNfaC0t OwpAQCAtMTA4MCw2ICsxMTA1LDExIEBAIGc0eF9zcHJpdGVfbWF4X3N0cmlkZShzdHJ1Y3QgaW50 ZWxfcGxhbmUgKnBsYW5lLAogCXJldHVybiAxNjM4NDsKIH0KIAorc3RhdGljIHUzMiBnNHhfc3By aXRlX2N0bF9jcnRjKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQor eworCXJldHVybiBEVlNfR0FNTUFfRU5BQkxFOworfQorCiBzdGF0aWMgdTMyIGc0eF9zcHJpdGVf Y3RsKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICBjb25z dCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogewpAQCAtMTA5MCw3ICsx MTIwLDcgQEAgc3RhdGljIHUzMiBnNHhfc3ByaXRlX2N0bChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAljb25zdCBzdHJ1Y3QgZHJtX2ludGVsX3Nwcml0ZV9jb2xv cmtleSAqa2V5ID0gJnBsYW5lX3N0YXRlLT5ja2V5OwogCXUzMiBkdnNjbnRyOwogCi0JZHZzY250 ciA9IERWU19FTkFCTEUgfCBEVlNfR0FNTUFfRU5BQkxFOworCWR2c2NudHIgPSBEVlNfRU5BQkxF OwogCiAJaWYgKElTX0dFTihkZXZfcHJpdiwgNikpCiAJCWR2c2NudHIgfD0gRFZTX1RSSUNLTEVf RkVFRF9ESVNBQkxFOwpAQCAtMTE0Niw3ICsxMTc2LDYgQEAgZzR4X3VwZGF0ZV9wbGFuZShzdHJ1 Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLAogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUocGxhbmUtPmJhc2UuZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9IHBsYW5l LT5waXBlOwotCXUzMiBkdnNjbnRyID0gcGxhbmVfc3RhdGUtPmN0bCwgZHZzc2NhbGUgPSAwOwog CXUzMiBkdnNzdXJmX29mZnNldCA9IHBsYW5lX3N0YXRlLT5jb2xvcl9wbGFuZVswXS5vZmZzZXQ7 CiAJdTMyIGxpbmVhcl9vZmZzZXQ7CiAJY29uc3Qgc3RydWN0IGRybV9pbnRlbF9zcHJpdGVfY29s b3JrZXkgKmtleSA9ICZwbGFuZV9zdGF0ZS0+Y2tleTsKQEAgLTExNTgsOCArMTE4NywxMSBAQCBn NHhfdXBkYXRlX3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJdTMyIHkgPSBwbGFu ZV9zdGF0ZS0+Y29sb3JfcGxhbmVbMF0ueTsKIAl1MzIgc3JjX3cgPSBkcm1fcmVjdF93aWR0aCgm cGxhbmVfc3RhdGUtPmJhc2Uuc3JjKSA+PiAxNjsKIAl1MzIgc3JjX2ggPSBkcm1fcmVjdF9oZWln aHQoJnBsYW5lX3N0YXRlLT5iYXNlLnNyYykgPj4gMTY7CisJdTMyIGR2c2NudHIsIGR2c3NjYWxl ID0gMDsKIAl1bnNpZ25lZCBsb25nIGlycWZsYWdzOwogCisJZHZzY250ciA9IHBsYW5lX3N0YXRl LT5jdGwgfCBnNHhfc3ByaXRlX2N0bF9jcnRjKGNydGNfc3RhdGUpOworCiAJLyogU2l6ZXMgYXJl IDAgYmFzZWQgKi8KIAlzcmNfdy0tOwogCXNyY19oLS07Ci0tIAoyLjE5LjIKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=