From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 2/7] drm/i915: Do not call API requiring struct_mutex where it is not available Date: Mon, 11 Jan 2016 14:08:36 +0000 Message-ID: <1452521321-4032-3-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1452521321-4032-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 9E2C76E4DF for ; Mon, 11 Jan 2016 06:08:47 -0800 (PST) In-Reply-To: <1452521321-4032-1-git-send-email-tvrtko.ursulin@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 Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkxSQyBjb2Rl IHdhcyBjYWxsaW5nIEdFTSBBUEkgbGlrZSBpOTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQgZnJvbQpw bGFjZXMgd2hlcmUgdGhlIHN0cnVjdF9tdXRleCBjYW5ub3QgYmUgZ3JhYmJlZCAoaXJxIGhhbmRs ZXJzKS4KClRvIGF2b2lkIHRoYXQgdGhpcyBwYXRjaCBjYWNoZXMgc29tZSBpbnRlcmVzdGluZyBv ZmZzZXRzIGFuZAp2YWx1ZXMgaW4gdGhlIGVuZ2luZSBhbmQgY29udGV4dCBzdHJ1Y3R1cmVzLgoK U29tZSB1c2FnZXMgYXJlIGFsc28gcmVtb3ZlZCB3aGVyZSB0aGV5IGFyZSBub3QgbmVlZGVkIGxp a2UgYQpmZXcgYXNzZXJ0cyB3aGljaCBhcmUgZWl0aGVyIGltcG9zc2libGUgb3IgaGF2ZSBiZWVu IGNoZWNrZWQKYWxyZWFkeSBkdXJpbmcgZW5naW5lIGluaXRpYWxpemF0aW9uLgoKU2lkZSBiZW5l Zml0IGlzIGFsc28gdGhhdCBpbnRlcnJ1cHQgaGFuZGxlcnMgYW5kIGNvbW1hbmQKc3VibWlzc2lv biBzdG9wIGV2YWx1YXRpbmcgaW52YXJpYW50IGNvbmRpdGlvbmFscywgbGlrZSB3aGF0CkdlbiB3 ZSBhcmUgcnVubmluZyBvbiwgb24gZXZlcnkgaW50ZXJydXB0IGFuZCBldmVyeSBjb21tYW5kCnN1 Ym1pdHRlZC4KClRoaXMgcGF0Y2ggZGVhbHMgd2l0aCBsb2dpY2FsIHJpbmcgY29udGV4dCBpZCBh bmQgZGVzY3JpcHRvcnMKd2hpbGUgc3Vic2VxdWVudCBwYXRjaGVzIHdpbGwgZGVhbCB3aXRoIHRo ZSByZW1haW5pbmcgaXNzdWVzLgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRr by51cnN1bGluQGludGVsLmNvbT4KQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3 bGwuY2g+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgIHwgMTUg KysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgfCAgMiArCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgfCA5MCArKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oICAg ICAgICB8ICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggfCAg MiArCiA1IGZpbGVzIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDU3IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggZTMzNzdhYmMwZDRkLi4wYjM1NTBm MDUwMjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC0xOTk0LDEyICsxOTk0 LDEzIEBAIHN0YXRpYyBpbnQgaTkxNV9jb250ZXh0X3N0YXR1cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0s IHZvaWQgKnVudXNlZCkKIH0KIAogc3RhdGljIHZvaWQgaTkxNV9kdW1wX2xyY19vYmooc3RydWN0 IHNlcV9maWxlICptLAotCQkJICAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKLQkJ CSAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfb2JqKQorCQkJICAgICAgc3Ry dWN0IGludGVsX2NvbnRleHQgKmN0eCwKKwkJCSAgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KnJpbmcpCiB7CiAJc3RydWN0IHBhZ2UgKnBhZ2U7CiAJdWludDMyX3QgKnJlZ19zdGF0ZTsKIAlp bnQgajsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X29iaiA9IGN0eC0+ZW5naW5l W3JpbmctPmlkXS5zdGF0ZTsKIAl1bnNpZ25lZCBsb25nIGdndHRfb2Zmc2V0ID0gMDsKIAogCWlm IChjdHhfb2JqID09IE5VTEwpIHsKQEAgLTIwMDksNyArMjAxMCw3IEBAIHN0YXRpYyB2b2lkIGk5 MTVfZHVtcF9scmNfb2JqKHN0cnVjdCBzZXFfZmlsZSAqbSwKIAl9CiAKIAlzZXFfcHJpbnRmKG0s ICJDT05URVhUOiAlcyAldVxuIiwgcmluZy0+bmFtZSwKLQkJICAgaW50ZWxfZXhlY2xpc3RzX2N0 eF9pZChjdHhfb2JqKSk7CisJCSAgIGludGVsX2V4ZWNsaXN0c19jdHhfaWQoY3R4LCByaW5nKSk7 CiAKIAlpZiAoIWk5MTVfZ2VtX29ial9nZ3R0X2JvdW5kKGN0eF9vYmopKQogCQlzZXFfcHV0cyht LCAiXHROb3QgYm91bmQgaW4gR0dUVFxuIik7CkBAIC0yMDU4LDggKzIwNTksNyBAQCBzdGF0aWMg aW50IGk5MTVfZHVtcF9scmMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCiAJbGlz dF9mb3JfZWFjaF9lbnRyeShjdHgsICZkZXZfcHJpdi0+Y29udGV4dF9saXN0LCBsaW5rKSB7CiAJ CWZvcl9lYWNoX3JpbmcocmluZywgZGV2X3ByaXYsIGkpIHsKIAkJCWlmIChyaW5nLT5kZWZhdWx0 X2NvbnRleHQgIT0gY3R4KQotCQkJCWk5MTVfZHVtcF9scmNfb2JqKG0sIHJpbmcsCi0JCQkJCQkg IGN0eC0+ZW5naW5lW2ldLnN0YXRlKTsKKwkJCQlpOTE1X2R1bXBfbHJjX29iaihtLCBjdHgsIHJp bmcpOwogCQl9CiAJfQogCkBAIC0yMTMzLDExICsyMTMzLDggQEAgc3RhdGljIGludCBpOTE1X2V4 ZWNsaXN0cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCiAKIAkJc2VxX3ByaW50Ziht LCAiXHQlZCByZXF1ZXN0cyBpbiBxdWV1ZVxuIiwgY291bnQpOwogCQlpZiAoaGVhZF9yZXEpIHsK LQkJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfb2JqOwotCi0JCQljdHhfb2JqID0g aGVhZF9yZXEtPmN0eC0+ZW5naW5lW3JpbmdfaWRdLnN0YXRlOwogCQkJc2VxX3ByaW50ZihtLCAi XHRIZWFkIHJlcXVlc3QgaWQ6ICV1XG4iLAotCQkJCSAgIGludGVsX2V4ZWNsaXN0c19jdHhfaWQo Y3R4X29iaikpOworCQkJCSAgIGludGVsX2V4ZWNsaXN0c19jdHhfaWQoaGVhZF9yZXEtPmN0eCwg cmluZykpOwogCQkJc2VxX3ByaW50ZihtLCAiXHRIZWFkIHJlcXVlc3QgdGFpbDogJXVcbiIsCiAJ CQkJICAgaGVhZF9yZXEtPnRhaWwpOwogCQl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA3 NDdkMmQ4NGExOGMuLjRiMDkzMjYzNGNjOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC04 ODMsNiArODgzLDggQEAgc3RydWN0IGludGVsX2NvbnRleHQgewogCQlzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqc3RhdGU7CiAJCXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmOwog CQlpbnQgcGluX2NvdW50OworCQl1MzIgbHJjX29mZnNldDsKKwkJdTY0IGxyY19kZXNjOwogCX0g ZW5naW5lW0k5MTVfTlVNX1JJTkdTXTsKIAogCXN0cnVjdCBsaXN0X2hlYWQgbGluazsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggYWIzNDRlMGI4NzhjLi4wNjZiM2I4Y2FlMzUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC0yNjUsNyArMjY1LDggQEAgaW50IGludGVsX3Nhbml0 aXplX2VuYWJsZV9leGVjbGlzdHMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGVuYWJsZV9l eGVjbGlzdHMKIAogLyoqCiAgKiBpbnRlbF9leGVjbGlzdHNfY3R4X2lkKCkgLSBnZXQgdGhlIEV4 ZWNsaXN0cyBDb250ZXh0IElECi0gKiBAY3R4X29iajogTG9naWNhbCBSaW5nIENvbnRleHQgYmFj a2luZyBvYmplY3QuCisgKiBAY3R4OiBDb250ZXh0IHRvIGdldCB0aGUgSUQgZm9yCisgKiBAcmlu ZzogRW5naW5lIHRvIGdldCB0aGUgSUQgZm9yCiAgKgogICogRG8gbm90IGNvbmZ1c2Ugd2l0aCBj dHgtPmlkISBVbmZvcnR1bmF0ZWx5IHdlIGhhdmUgYSBuYW1lIG92ZXJsb2FkCiAgKiBoZXJlOiB0 aGUgb2xkIGNvbnRleHQgSUQgd2UgcGFzcyB0byB1c2Vyc3BhY2UgYXMgYSBoYW5kbGVyIHNvIHRo YXQKQEAgLTI3NSwxNCArMjc2LDEyIEBAIGludCBpbnRlbF9zYW5pdGl6ZV9lbmFibGVfZXhlY2xp c3RzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBlbmFibGVfZXhlY2xpc3RzCiAgKgogICog UmV0dXJuOiAyMC1iaXRzIGdsb2JhbGx5IHVuaXF1ZSBjb250ZXh0IElELgogICovCi11MzIgaW50 ZWxfZXhlY2xpc3RzX2N0eF9pZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X29iaikK K3UzMiBpbnRlbF9leGVjbGlzdHNfY3R4X2lkKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCisJ CQkgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogewotCXUzMiBscmNhID0gaTkxNV9n ZW1fb2JqX2dndHRfb2Zmc2V0KGN0eF9vYmopICsKLQkJCUxSQ19QUEhXU1BfUE4gKiBQQUdFX1NJ WkU7Ci0KIAkvKiBMUkNBIGlzIHJlcXVpcmVkIHRvIGJlIDRLIGFsaWduZWQgc28gdGhlIG1vcmUg c2lnbmlmaWNhbnQgMjAgYml0cwogCSAqIGFyZSBnbG9iYWxseSB1bmlxdWUgKi8KLQlyZXR1cm4g bHJjYSA+PiAxMjsKKwlyZXR1cm4gY3R4LT5lbmdpbmVbcmluZy0+aWRdLmxyY19vZmZzZXQgPj4g MTI7CiB9CiAKIHN0YXRpYyBib29sIGRpc2FibGVfbGl0ZV9yZXN0b3JlX3dhKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKnJpbmcpCkBAIC0yOTcsMzEgKzI5Niw3IEBAIHN0YXRpYyBib29sIGRpc2Fi bGVfbGl0ZV9yZXN0b3JlX3dhKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiB1aW50NjRf dCBpbnRlbF9scl9jb250ZXh0X2Rlc2NyaXB0b3Ioc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwK IAkJCQkgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiB7Ci0Jc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKmN0eF9vYmogPSBjdHgtPmVuZ2luZVtyaW5nLT5pZF0uc3RhdGU7Ci0J dWludDY0X3QgZGVzYzsKLQl1aW50NjRfdCBscmNhID0gaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0 KGN0eF9vYmopICsKLQkJCUxSQ19QUEhXU1BfUE4gKiBQQUdFX1NJWkU7Ci0KLQlXQVJOX09OKGxy Y2EgJiAweEZGRkZGRkZGMDAwMDBGRkZVTEwpOwotCi0JZGVzYyA9IEdFTjhfQ1RYX1ZBTElEOwot CWRlc2MgfD0gR0VOOF9DVFhfQUREUkVTU0lOR19NT0RFKGRldikgPDwgR0VOOF9DVFhfQUREUkVT U0lOR19NT0RFX1NISUZUOwotCWlmIChJU19HRU44KGN0eF9vYmotPmJhc2UuZGV2KSkKLQkJZGVz YyB8PSBHRU44X0NUWF9MM0xMQ19DT0hFUkVOVDsKLQlkZXNjIHw9IEdFTjhfQ1RYX1BSSVZJTEVH RTsKLQlkZXNjIHw9IGxyY2E7Ci0JZGVzYyB8PSAodTY0KWludGVsX2V4ZWNsaXN0c19jdHhfaWQo Y3R4X29iaikgPDwgR0VOOF9DVFhfSURfU0hJRlQ7Ci0KLQkvKiBUT0RPOiBXYURpc2FibGVMaXRl UmVzdG9yZSB3aGVuIHdlIHN0YXJ0IHVzaW5nIHNlbWFwaG9yZQotCSAqIHNpZ25hbGxpbmcgYmV0 d2VlbiBDb21tYW5kIFN0cmVhbWVycyAqLwotCS8qIGRlc2MgfD0gR0VOOF9DVFhfRk9SQ0VfUkVT VE9SRTsgKi8KLQotCS8qIFdhRW5hYmxlRm9yY2VSZXN0b3JlSW5DdHh0RGVzY0ZvclZDUzpza2wg Ki8KLQkvKiBXYUVuYWJsZUZvcmNlUmVzdG9yZUluQ3R4dERlc2NGb3JWQ1M6Ynh0ICovCi0JaWYg KGRpc2FibGVfbGl0ZV9yZXN0b3JlX3dhKHJpbmcpKQotCQlkZXNjIHw9IEdFTjhfQ1RYX0ZPUkNF X1JFU1RPUkU7Ci0KLQlyZXR1cm4gZGVzYzsKKwlyZXR1cm4gY3R4LT5lbmdpbmVbcmluZy0+aWRd LmxyY19kZXNjOwogfQogCiBzdGF0aWMgdm9pZCBleGVjbGlzdHNfZWxzcF93cml0ZShzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxMCwKQEAgLTM2OSw4ICszNDQsNiBAQCBzdGF0aWMgaW50 IGV4ZWNsaXN0c191cGRhdGVfY29udGV4dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJx KQogCXVpbnQzMl90ICpyZWdfc3RhdGU7CiAKIAlCVUdfT04oIWN0eF9vYmopOwotCVdBUk5fT04o IWk5MTVfZ2VtX29ial9pc19waW5uZWQoY3R4X29iaikpOwotCVdBUk5fT04oIWk5MTVfZ2VtX29i al9pc19waW5uZWQocmJfb2JqKSk7CiAKIAlwYWdlID0gaTkxNV9nZW1fb2JqZWN0X2dldF9kaXJ0 eV9wYWdlKGN0eF9vYmosIExSQ19TVEFURV9QTik7CiAJcmVnX3N0YXRlID0ga21hcF9hdG9taWMo cGFnZSk7CkBAIC00NzcsOSArNDUwLDcgQEAgc3RhdGljIGJvb2wgZXhlY2xpc3RzX2NoZWNrX3Jl bW92ZV9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJCQkJCSAgICBleGVj bGlzdF9saW5rKTsKIAogCWlmIChoZWFkX3JlcSAhPSBOVUxMKSB7Ci0JCXN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpjdHhfb2JqID0KLQkJCQloZWFkX3JlcS0+Y3R4LT5lbmdpbmVbcmluZy0+ aWRdLnN0YXRlOwotCQlpZiAoaW50ZWxfZXhlY2xpc3RzX2N0eF9pZChjdHhfb2JqKSA9PSByZXF1 ZXN0X2lkKSB7CisJCWlmIChpbnRlbF9leGVjbGlzdHNfY3R4X2lkKGhlYWRfcmVxLT5jdHgsIHJp bmcpID09IHJlcXVlc3RfaWQpIHsKIAkJCVdBUk4oaGVhZF9yZXEtPmVsc3Bfc3VibWl0dGVkID09 IDAsCiAJCQkgICAgICJOZXZlciBzdWJtaXR0ZWQgaGVhZCByZXF1ZXN0XG4iKTsKIApAQCAtNTU2 LDcgKzUyNyw3IEBAIHZvaWQgaW50ZWxfbHJjX2lycV9oYW5kbGVyKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcpCiAJCX0KIAl9CiAKLQlpZiAoZGlzYWJsZV9saXRlX3Jlc3RvcmVfd2Eocmlu ZykpIHsKKwlpZiAocmluZy0+ZGlzYWJsZV9saXRlX3Jlc3RvcmVfd2EpIHsKIAkJLyogUHJldmVu dCBhIGN0eCB0byBwcmVlbXB0IGl0c2VsZiAqLwogCQlpZiAoKHN0YXR1cyAmIEdFTjhfQ1RYX1NU QVRVU19BQ1RJVkVfSURMRSkgJiYKIAkJICAgIChzdWJtaXRfY29udGV4dHMgIT0gMCkpCkBAIC0x MDM5LDE0ICsxMDEwLDE2IEBAIGludCBsb2dpY2FsX3JpbmdfZmx1c2hfYWxsX2NhY2hlcyhzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIH0KIAogc3RhdGljIGludCBpbnRlbF9scl9j b250ZXh0X2RvX3BpbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAotCQlzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqY3R4X29iaiwKLQkJc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJp bmdidWYpCisJCQkJICAgc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCkKIHsKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gcmluZy0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0JaW50IHJldCA9IDA7CisJc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKmN0eF9vYmogPSBjdHgtPmVuZ2luZVtyaW5nLT5pZF0uc3RhdGU7CisJc3Ry dWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPSBjdHgtPmVuZ2luZVtyaW5nLT5pZF0ucmlu Z2J1ZjsKKwlpbnQgcmV0OwogCiAJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZyaW5nLT5kZXYt PnN0cnVjdF9tdXRleCkpOworCiAJcmV0ID0gaTkxNV9nZW1fb2JqX2dndHRfcGluKGN0eF9vYmos IEdFTjhfTFJfQ09OVEVYVF9BTElHTiwKIAkJCVBJTl9PRkZTRVRfQklBUyB8IEdVQ19XT1BDTV9U T1ApOwogCWlmIChyZXQpCkBAIC0xMDU2LDYgKzEwMjksMTEgQEAgc3RhdGljIGludCBpbnRlbF9s cl9jb250ZXh0X2RvX3BpbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCWlmIChyZXQp CiAJCWdvdG8gdW5waW5fY3R4X29iajsKIAorCWN0eC0+ZW5naW5lW3JpbmctPmlkXS5scmNfb2Zm c2V0ID0gaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KGN0eF9vYmopICsKKwkJCQkJICAgTFJDX1BQ SFdTUF9QTiAqIFBBR0VfU0laRTsKKwljdHgtPmVuZ2luZVtyaW5nLT5pZF0ubHJjX2Rlc2MgPSBy aW5nLT5jdHhfZGVzY190ZW1wbGF0ZSB8CisJCQkJCSBjdHgtPmVuZ2luZVtyaW5nLT5pZF0ubHJj X29mZnNldCB8CisJCQkJCSAoKHU2NClpbnRlbF9leGVjbGlzdHNfY3R4X2lkKGN0eCwgcmluZykg PDwgR0VOOF9DVFhfSURfU0hJRlQpOwogCWN0eF9vYmotPmRpcnR5ID0gdHJ1ZTsKIAogCS8qIElu dmFsaWRhdGUgR3VDIFRMQi4gKi8KQEAgLTEwNzQsMTEgKzEwNTIsOSBAQCBzdGF0aWMgaW50IGlu dGVsX2xyX2NvbnRleHRfcGluKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcnEpCiB7CiAJ aW50IHJldCA9IDA7CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9IHJxLT5yaW5nOwot CXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfb2JqID0gcnEtPmN0eC0+ZW5naW5lW3Jp bmctPmlkXS5zdGF0ZTsKLQlzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiA9IHJxLT5y aW5nYnVmOwogCiAJaWYgKHJxLT5jdHgtPmVuZ2luZVtyaW5nLT5pZF0ucGluX2NvdW50KysgPT0g MCkgewotCQlyZXQgPSBpbnRlbF9scl9jb250ZXh0X2RvX3BpbihyaW5nLCBjdHhfb2JqLCByaW5n YnVmKTsKKwkJcmV0ID0gaW50ZWxfbHJfY29udGV4dF9kb19waW4ocmluZywgcnEtPmN0eCk7CiAJ CWlmIChyZXQpCiAJCQlnb3RvIHJlc2V0X3Bpbl9jb3VudDsKIAl9CkBAIC0xMTAwLDYgKzEwNzYs OCBAQCB2b2lkIGludGVsX2xyX2NvbnRleHRfdW5waW4oc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICpycSkKIAkJaWYgKC0tcnEtPmN0eC0+ZW5naW5lW3JpbmctPmlkXS5waW5fY291bnQgPT0g MCkgewogCQkJaW50ZWxfdW5waW5fcmluZ2J1ZmZlcl9vYmoocmluZ2J1Zik7CiAJCQlpOTE1X2dl bV9vYmplY3RfZ2d0dF91bnBpbihjdHhfb2JqKTsKKwkJCXJxLT5jdHgtPmVuZ2luZVtyaW5nLT5p ZF0ubHJjX29mZnNldCA9IDA7CisJCQlycS0+Y3R4LT5lbmdpbmVbcmluZy0+aWRdLmxyY19kZXNj ID0gMDsKIAkJfQogCX0KIH0KQEAgLTE5MzgsNiArMTkxNiw5IEBAIHZvaWQgaW50ZWxfbG9naWNh bF9yaW5nX2NsZWFudXAoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIAkJcmluZy0+c3Rh dHVzX3BhZ2Uub2JqID0gTlVMTDsKIAl9CiAKKwlyaW5nLT5kaXNhYmxlX2xpdGVfcmVzdG9yZV93 YSA9IGZhbHNlOworCXJpbmctPmN0eF9kZXNjX3RlbXBsYXRlID0gMDsKKwogCWxyY19kZXN0cm95 X3dhX2N0eF9vYmoocmluZyk7CiAJcmluZy0+ZGV2ID0gTlVMTDsKIH0KQEAgLTE5NjAsNiArMTk0 MSwyNCBAQCBzdGF0aWMgaW50IGxvZ2ljYWxfcmluZ19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbgogCUlOSVRfTElTVF9IRUFEKCZyaW5nLT5l eGVjbGlzdF9yZXRpcmVkX3JlcV9saXN0KTsKIAlzcGluX2xvY2tfaW5pdCgmcmluZy0+ZXhlY2xp c3RfbG9jayk7CiAKKwlyaW5nLT5kaXNhYmxlX2xpdGVfcmVzdG9yZV93YSA9IGRpc2FibGVfbGl0 ZV9yZXN0b3JlX3dhKHJpbmcpOworCisJcmluZy0+Y3R4X2Rlc2NfdGVtcGxhdGUgPSBHRU44X0NU WF9WQUxJRDsKKwlyaW5nLT5jdHhfZGVzY190ZW1wbGF0ZSB8PSBHRU44X0NUWF9BRERSRVNTSU5H X01PREUoZGV2KSA8PAorCQkJCSAgIEdFTjhfQ1RYX0FERFJFU1NJTkdfTU9ERV9TSElGVDsKKwlp ZiAoSVNfR0VOOChkZXYpKQorCQlyaW5nLT5jdHhfZGVzY190ZW1wbGF0ZSB8PSBHRU44X0NUWF9M M0xMQ19DT0hFUkVOVDsKKwlyaW5nLT5jdHhfZGVzY190ZW1wbGF0ZSB8PSBHRU44X0NUWF9QUklW SUxFR0U7CisKKwkvKiBUT0RPOiBXYURpc2FibGVMaXRlUmVzdG9yZSB3aGVuIHdlIHN0YXJ0IHVz aW5nIHNlbWFwaG9yZQorCSAqIHNpZ25hbGxpbmcgYmV0d2VlbiBDb21tYW5kIFN0cmVhbWVycyAq LworCS8qIHJpbmctPmN0eF9kZXNjX3RlbXBsYXRlIHw9IEdFTjhfQ1RYX0ZPUkNFX1JFU1RPUkU7 ICovCisKKwkvKiBXYUVuYWJsZUZvcmNlUmVzdG9yZUluQ3R4dERlc2NGb3JWQ1M6c2tsICovCisJ LyogV2FFbmFibGVGb3JjZVJlc3RvcmVJbkN0eHREZXNjRm9yVkNTOmJ4dCAqLworCWlmIChyaW5n LT5kaXNhYmxlX2xpdGVfcmVzdG9yZV93YSkKKwkJcmluZy0+Y3R4X2Rlc2NfdGVtcGxhdGUgfD0g R0VOOF9DVFhfRk9SQ0VfUkVTVE9SRTsKKwogCXJldCA9IGk5MTVfY21kX3BhcnNlcl9pbml0X3Jp bmcocmluZyk7CiAJaWYgKHJldCkKIAkJZ290byBlcnJvcjsKQEAgLTE5NjksMTAgKzE5NjgsNyBA QCBzdGF0aWMgaW50IGxvZ2ljYWxfcmluZ19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbgogCQlnb3RvIGVycm9yOwogCiAJLyogQXMgdGhpcyBp cyB0aGUgZGVmYXVsdCBjb250ZXh0LCBhbHdheXMgcGluIGl0ICovCi0JcmV0ID0gaW50ZWxfbHJf Y29udGV4dF9kb19waW4oCi0JCQlyaW5nLAotCQkJcmluZy0+ZGVmYXVsdF9jb250ZXh0LT5lbmdp bmVbcmluZy0+aWRdLnN0YXRlLAotCQkJcmluZy0+ZGVmYXVsdF9jb250ZXh0LT5lbmdpbmVbcmlu Zy0+aWRdLnJpbmdidWYpOworCXJldCA9IGludGVsX2xyX2NvbnRleHRfZG9fcGluKHJpbmcsIHJp bmctPmRlZmF1bHRfY29udGV4dCk7CiAJaWYgKHJldCkgewogCQlEUk1fRVJST1IoCiAJCQkiRmFp bGVkIHRvIHBpbiBhbmQgbWFwIHJpbmdidWZmZXIgJXM6ICVkXG4iLApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuaAppbmRleCBkZTQxYWQ2Y2Q2M2QuLjQ5YWY2MzhmNjIxMyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHJjLmgKQEAgLTEwNywxMyArMTA3LDE1IEBAIHZvaWQgaW50ZWxfbHJfY29udGV4dF9y ZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogdWludDY0X3QgaW50ZWxfbHJfY29udGV4dF9k ZXNjcmlwdG9yKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCiAJCQkJICAgICBzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICpyaW5nKTsKIAordTMyIGludGVsX2V4ZWNsaXN0c19jdHhfaWQoc3RydWN0 IGludGVsX2NvbnRleHQgKmN0eCwKKwkJCSAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcp OworCiAvKiBFeGVjbGlzdHMgKi8KIGludCBpbnRlbF9zYW5pdGl6ZV9lbmFibGVfZXhlY2xpc3Rz KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBlbmFibGVfZXhlY2xpc3RzKTsKIHN0cnVjdCBp OTE1X2V4ZWNidWZmZXJfcGFyYW1zOwogaW50IGludGVsX2V4ZWNsaXN0c19zdWJtaXNzaW9uKHN0 cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCiAJCQkgICAgICAgc3RydWN0IGRy bV9pOTE1X2dlbV9leGVjYnVmZmVyMiAqYXJncywKIAkJCSAgICAgICBzdHJ1Y3QgbGlzdF9oZWFk ICp2bWFzKTsKLXUzMiBpbnRlbF9leGVjbGlzdHNfY3R4X2lkKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpjdHhfb2JqKTsKIAogdm9pZCBpbnRlbF9scmNfaXJxX2hhbmRsZXIoc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqcmluZyk7CiB2b2lkIGludGVsX2V4ZWNsaXN0c19yZXRpcmVfcmVxdWVz dHMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmgKaW5kZXggNzM0OWQ5MjU4MTkxLi44NWNlMjI3MmY5MmMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKQEAgLTI2OSw2ICsyNjksOCBAQCBzdHJ1 Y3QgIGludGVsX2VuZ2luZV9jcyB7CiAJc3RydWN0IGxpc3RfaGVhZCBleGVjbGlzdF9xdWV1ZTsK IAlzdHJ1Y3QgbGlzdF9oZWFkIGV4ZWNsaXN0X3JldGlyZWRfcmVxX2xpc3Q7CiAJdTggbmV4dF9j b250ZXh0X3N0YXR1c19idWZmZXI7CisJYm9vbCBkaXNhYmxlX2xpdGVfcmVzdG9yZV93YTsKKwl1 MzIgY3R4X2Rlc2NfdGVtcGxhdGU7CiAJdTMyICAgICAgICAgICAgIGlycV9rZWVwX21hc2s7IC8q IGJpdG1hc2sgZm9yIGludGVycnVwdHMgdGhhdCBzaG91bGQgbm90IGJlIG1hc2tlZCAqLwogCWlu dAkJKCplbWl0X3JlcXVlc3QpKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCk7 CiAJaW50CQkoKmVtaXRfZmx1c2gpKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVz dCwKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=