From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH v5 28/35] drm/i915: Add early exit to execbuff_final() if insufficient ring space Date: Thu, 18 Feb 2016 14:27:16 +0000 Message-ID: <1455805644-6450-29-git-send-email-John.C.Harrison@Intel.com> References: <1455805644-6450-1-git-send-email-John.C.Harrison@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 ESMTP id 624AE6EBF5 for ; Thu, 18 Feb 2016 14:28:03 +0000 (UTC) In-Reply-To: <1455805644-6450-1-git-send-email-John.C.Harrison@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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KCk9uZSBvZiB0 aGUgbWFqb3IgcHVycG9zZXMgb2YgdGhlIEdQVSBzY2hlZHVsZXIgaXMgdG8gYXZvaWQgc3RhbGxp bmcKdGhlIENQVSB3aGVuIHRoZSBHUFUgaXMgYnVzeSBhbmQgdW5hYmxlIHRvIGFjY2VwdCBtb3Jl IHdvcmsuIFRoaXMKY2hhbmdlIGFkZHMgc3VwcG9ydCB0byB0aGUgcmluZyBzdWJtaXNzaW9uIGNv ZGUgdG8gYWxsb3cgYSByaW5nIHNwYWNlCmNoZWNrIHRvIGJlIHBlcmZvcm1lZCBiZWZvcmUgYXR0 ZW1wdGluZyB0byBzdWJtaXQgYSBiYXRjaCBidWZmZXIgdG8KdGhlIGhhcmR3YXJlLiBJZiBpbnN1 ZmZpY2llbnQgc3BhY2UgaXMgYXZhaWxhYmxlIHRoZW4gdGhlIHNjaGVkdWxlcgpjYW4gZ28gYXdh eSBhbmQgY29tZSBiYWNrIGxhdGVyLCBsZXR0aW5nIHRoZSBDUFUgZ2V0IG9uIHdpdGggb3RoZXIK d29yaywgcmF0aGVyIHRoYW4gc3RhbGxpbmcgYW5kIHdhaXRpbmcgZm9yIHRoZSBoYXJkd2FyZSB0 byBjYXRjaCB1cC4KCnYzOiBVcGRhdGVkIHRvIHVzZSBsb2NhbGx5IGNhY2hlZCByZXF1ZXN0IHBv aW50ZXIuCgp2NDogTGluZSB3cmFwcGVkIHNvbWUgY29tbWVudHMgZGlmZmVyZW50bHkgdG8ga2Vl cCB0aGUgc3R5bGUgY2hlY2tlcgpoYXBweS4gRG93bmdyYWRlZCBhIEJVR19PTiB0byBhIFdBUk5f T04gYXMgdGhlIGxhdHRlciBpcyBwcmVmZXJyZWQuCgpSZW1vdmVkIHNvbWUgb2Jzb2xldGUsIGNv bW1lbnRlZCBvdXQgY29kZS4KCkZvcjogVklaLTE1ODcKU2lnbmVkLW9mZi1ieTogSm9obiBIYXJy aXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgfCA0MSArKysrKysrKysrKysrKysrKy0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAgIHwgNTQgKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmMgICAgfCAyNiArKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5oICAgIHwgIDEgKwogNCBmaWxlcyBjaGFuZ2VkLCAxMDcgaW5zZXJ0aW9ucygrKSwg MTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZl ci5jCmluZGV4IGRmZjEyMGMuLjgzY2U5NGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9leGVjYnVmZmVyLmMKQEAgLTExNDcsMjUgKzExNDcsMTkgQEAgaTkxNV9yZXNldF9nZW43 X3NvbF9vZmZzZXRzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiB7CiAJc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqcmluZyA9IHJlcS0+cmluZzsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwotCWludCByZXQsIGk7CisJaW50IGk7CiAKIAlpZiAo IUlTX0dFTjcoZGV2KSB8fCByaW5nICE9ICZkZXZfcHJpdi0+cmluZ1tSQ1NdKSB7CiAJCURSTV9E RUJVRygic29sIHJlc2V0IGlzIGdlbjcvcmNzIG9ubHlcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsK IAl9CiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgNCAqIDMpOwotCWlmIChyZXQpCi0J CXJldHVybiByZXQ7Ci0KIAlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7CiAJCWludGVsX3Jpbmdf ZW1pdChyaW5nLCBNSV9MT0FEX1JFR0lTVEVSX0lNTSgxKSk7CiAJCWludGVsX3JpbmdfZW1pdF9y ZWcocmluZywgR0VON19TT19XUklURV9PRkZTRVQoaSkpOwogCQlpbnRlbF9yaW5nX2VtaXQocmlu ZywgMCk7CiAJfQogCi0JaW50ZWxfcmluZ19hZHZhbmNlKHJpbmcpOwotCiAJcmV0dXJuIDA7CiB9 CiAKQEAgLTEyOTMsNiArMTI4Nyw3IEBAIGludCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Np b25fZmluYWwoc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcykKIAlzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICAqcmluZyA9IHBhcmFtcy0+cmluZzsKIAl1NjQgZXhlY19zdGFydCwg ZXhlY19sZW47CiAJaW50IHJldDsKKwl1aW50MzJfdCBtaW5fc3BhY2U7CiAKIAkvKiBUaGUgbXV0 ZXggbXVzdCBiZSBhY3F1aXJlZCBiZWZvcmUgY2FsbGluZyB0aGlzIGZ1bmN0aW9uICovCiAJV0FS Tl9PTighbXV0ZXhfaXNfbG9ja2VkKCZwYXJhbXMtPmRldi0+c3RydWN0X211dGV4KSk7CkBAIC0x MzE2LDYgKzEzMTEsMzQgQEAgaW50IGk5MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbl9maW5h bChzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zKQogCQlnb3RvIGVycm9yOwog CiAJLyoKKwkgKiBJdCB3b3VsZCBiZSBhIGJhZCBpZGVhIHRvIHJ1biBvdXQgb2Ygc3BhY2Ugd2hp bGUgd3JpdGluZyBjb21tYW5kcworCSAqIHRvIHRoZSByaW5nLiBPbmUgb2YgdGhlIG1ham9yIGFp bXMgb2YgdGhlIHNjaGVkdWxlciBpcyB0byBub3QKKwkgKiBzdGFsbCBhdCBhbnkgcG9pbnQgZm9y IGFueSByZWFzb24uIEhvd2V2ZXIsIGRvaW5nIGFuIGVhcmx5IGV4aXQKKwkgKiBoYWxmIHdheSB0 aHJvdWdoIHN1Ym1pc3Npb24gY291bGQgcmVzdWx0IGluIGEgcGFydGlhbCBzZXF1ZW5jZQorCSAq IGJlaW5nIHdyaXR0ZW4gd2hpY2ggd291bGQgbGVhdmUgdGhlIGVuZ2luZSBpbiBhbiB1bmtub3du IHN0YXRlLgorCSAqIFRoZXJlZm9yZSwgY2hlY2sgaW4gYWR2YW5jZSB0aGF0IHRoZXJlIHdpbGwg YmUgZW5vdWdoIHNwYWNlIGZvcgorCSAqIHRoZSBlbnRpcmUgc3VibWlzc2lvbiB3aGV0aGVyIGVt aXR0ZWQgYnkgdGhlIGNvZGUgYmVsb3cgT1IgYnkgYW55CisJICogb3RoZXIgZnVuY3Rpb25zIHRo YXQgbWF5IGJlIGV4ZWN1dGVkIGJlZm9yZSB0aGUgZW5kIG9mIGZpbmFsKCkuCisJICoKKwkgKiBO QjogVGhpcyB0ZXN0IGRlbGliZXJhdGVseSBvdmVyZXN0aW1hdGVzLCBiZWNhdXNlIHRoYXQncyBl YXNpZXIKKwkgKiB0aGFuIHRyYWNpbmcgZXZlcnkgcG90ZW50aWFsIHBhdGggdGhhdCBjb3VsZCBi ZSB0YWtlbiEKKwkgKgorCSAqIEN1cnJlbnQgbWVhc3VyZW1lbnRzIHN1Z2dlc3QgdGhhdCB3ZSBt YXkgbmVlZCB0byBlbWl0IHVwIHRvIDE4NgorCSAqIGR3b3Jkcywgc28gdGhpcyBpcyByb3VuZGVk IHVwIHRvIDI1NiBoZXJlLiBUaGVuIGRvdWJsZSB0aGF0IHRvIGdldAorCSAqIHRoZSBmcmVlIHNw YWNlIHJlcXVpcmVtZW50LCBiZWNhdXNlIHRoZSBibG9jayBpcyBub3QgYWxsb3dlZCB0bworCSAq IHNwYW4gdGhlIHRyYW5zaXRpb24gZnJvbSB0aGUgZW5kIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhl IHJpbmcuCisJICovCisjZGVmaW5lIEk5MTVfQkFUQ0hfRVhFQ19NQVhfTEVOICAgICAgICAgMjU2 CS8qIG1heCBkd29yZHMgZW1pdHRlZCBoZXJlICovCisJbWluX3NwYWNlID0gSTkxNV9CQVRDSF9F WEVDX01BWF9MRU4gKiAyICogc2l6ZW9mKHVpbnQzMl90KTsKKwlyZXQgPSBpbnRlbF9yaW5nX3Rl c3Rfc3BhY2UocmVxLT5yaW5nYnVmLCBtaW5fc3BhY2UpOworCWlmIChyZXQpCisJCWdvdG8gZXJy b3I7CisKKwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgSTkxNV9CQVRDSF9FWEVDX01BWF9M RU4pOworCWlmIChyZXQpCisJCWdvdG8gZXJyb3I7CisKKwkvKgogCSAqIFVuY29uZGl0aW9uYWxs eSBpbnZhbGlkYXRlIGdwdSBjYWNoZXMgYW5kIGVuc3VyZSB0aGF0IHdlIGRvIGZsdXNoCiAJICog YW55IHJlc2lkdWFsIHdyaXRlcyBmcm9tIHRoZSBwcmV2aW91cyBiYXRjaC4KIAkgKi8KQEAgLTEz MzMsMTAgKzEzNTYsNiBAQCBpbnQgaTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJtaXNzaW9uX2ZpbmFs KHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMpCiAKIAlpZiAocmluZyA9PSAm ZGV2X3ByaXYtPnJpbmdbUkNTXSAmJgogCSAgICBwYXJhbXMtPmluc3RwX21vZGUgIT0gZGV2X3By aXYtPnJlbGF0aXZlX2NvbnN0YW50c19tb2RlKSB7Ci0JCXJldCA9IGludGVsX3JpbmdfYmVnaW4o cmVxLCA0KTsKLQkJaWYgKHJldCkKLQkJCWdvdG8gZXJyb3I7Ci0KIAkJaW50ZWxfcmluZ19lbWl0 KHJpbmcsIE1JX05PT1ApOwogCQlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlfTE9BRF9SRUdJU1RF Ul9JTU0oMSkpOwogCQlpbnRlbF9yaW5nX2VtaXRfcmVnKHJpbmcsIElOU1RQTSk7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2xyYy5jCmluZGV4IDJiOWY0OWMuLmUxMjQ0NDMgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jCkBAIC0yMzEsNiArMjMxLDI3IEBAIHN0YXRpYyB2b2lkIGxyY19zZXR1cF9oYXJk d2FyZV9zdGF0dXNfcGFnZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCQlzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqZGVmYXVsdF9jdHhfb2JqKTsKIAogCisvKgorICogVGVzdCB0 byBzZWUgaWYgdGhlIHJpbmcgaGFzIHN1ZmZpY2llbnQgc3BhY2UgdG8gc3VibWl0IGEgZ2l2ZW4g cGllY2UKKyAqIG9mIHdvcmsgd2l0aG91dCBjYXVzaW5nIGEgc3RhbGwKKyAqLworc3RhdGljIGlu dCBsb2dpY2FsX3JpbmdfdGVzdF9zcGFjZShzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1 ZiwKKwkJCQkgICBpbnQgbWluX3NwYWNlKQoreworCWlmIChyaW5nYnVmLT5zcGFjZSA8IG1pbl9z cGFjZSkgeworCQkvKiBOZWVkIHRvIHVwZGF0ZSB0aGUgYWN0dWFsIHJpbmcgc3BhY2UuIE90aGVy d2lzZSwgdGhlIHN5c3RlbQorCQkgKiBoYW5ncyBmb3JldmVyIHRlc3RpbmcgYSBzb2Z0d2FyZSBj b3B5IG9mIHRoZSBzcGFjZSB2YWx1ZSB0aGF0CisJCSAqIG5ldmVyIGNoYW5nZXMhCisJCSAqLwor CQlpbnRlbF9yaW5nX3VwZGF0ZV9zcGFjZShyaW5nYnVmKTsKKworCQlpZiAocmluZ2J1Zi0+c3Bh Y2UgPCBtaW5fc3BhY2UpCisJCQlyZXR1cm4gLUVBR0FJTjsKKwl9CisKKwlyZXR1cm4gMDsKK30K KwogLyoqCiAgKiBpbnRlbF9zYW5pdGl6ZV9lbmFibGVfZXhlY2xpc3RzKCkgLSBzYW5pdGl6ZSBp OTE1LmVuYWJsZV9leGVjbGlzdHMKICAqIEBkZXY6IERSTSBkZXZpY2UuCkBAIC05NzYsNiArOTk3 LDcgQEAgaW50IGludGVsX2V4ZWNsaXN0c19zdWJtaXNzaW9uX2ZpbmFsKHN0cnVjdCBpOTE1X2V4 ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMpCiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9 IHBhcmFtcy0+cmluZzsKIAl1NjQgZXhlY19zdGFydDsKIAlpbnQgcmV0OworCXVpbnQzMl90IG1p bl9zcGFjZTsKIAogCS8qIFRoZSBtdXRleCBtdXN0IGJlIGFjcXVpcmVkIGJlZm9yZSBjYWxsaW5n IHRoaXMgZnVuY3Rpb24gKi8KIAlXQVJOX09OKCFtdXRleF9pc19sb2NrZWQoJnBhcmFtcy0+ZGV2 LT5zdHJ1Y3RfbXV0ZXgpKTsKQEAgLTk5OSw2ICsxMDIxLDM0IEBAIGludCBpbnRlbF9leGVjbGlz dHNfc3VibWlzc2lvbl9maW5hbChzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1z KQogCQlnb3RvIGVycjsKIAogCS8qCisJICogSXQgd291bGQgYmUgYSBiYWQgaWRlYSB0byBydW4g b3V0IG9mIHNwYWNlIHdoaWxlIHdyaXRpbmcgY29tbWFuZHMKKwkgKiB0byB0aGUgcmluZy4gT25l IG9mIHRoZSBtYWpvciBhaW1zIG9mIHRoZSBzY2hlZHVsZXIgaXMgdG8gbm90CisJICogc3RhbGwg YXQgYW55IHBvaW50IGZvciBhbnkgcmVhc29uLiBIb3dldmVyLCBkb2luZyBhbiBlYXJseSBleGl0 CisJICogaGFsZiB3YXkgdGhyb3VnaCBzdWJtaXNzaW9uIGNvdWxkIHJlc3VsdCBpbiBhIHBhcnRp YWwgc2VxdWVuY2UKKwkgKiBiZWluZyB3cml0dGVuIHdoaWNoIHdvdWxkIGxlYXZlIHRoZSBlbmdp bmUgaW4gYW4gdW5rbm93biBzdGF0ZS4KKwkgKiBUaGVyZWZvcmUsIGNoZWNrIGluIGFkdmFuY2Ug dGhhdCB0aGVyZSB3aWxsIGJlIGVub3VnaCBzcGFjZSBmb3IKKwkgKiB0aGUgZW50aXJlIHN1Ym1p c3Npb24gd2hldGhlciBlbWl0dGVkIGJ5IHRoZSBjb2RlIGJlbG93IE9SIGJ5IGFueQorCSAqIG90 aGVyIGZ1bmN0aW9ucyB0aGF0IG1heSBiZSBleGVjdXRlZCBiZWZvcmUgdGhlIGVuZCBvZiBmaW5h bCgpLgorCSAqCisJICogTkI6IFRoaXMgdGVzdCBkZWxpYmVyYXRlbHkgb3ZlcmVzdGltYXRlcywg YmVjYXVzZSB0aGF0J3MgZWFzaWVyCisJICogdGhhbiB0cmFjaW5nIGV2ZXJ5IHBvdGVudGlhbCBw YXRoIHRoYXQgY291bGQgYmUgdGFrZW4hCisJICoKKwkgKiBDdXJyZW50IG1lYXN1cmVtZW50cyBz dWdnZXN0IHRoYXQgd2UgbWF5IG5lZWQgdG8gZW1pdCB1cCB0byAxODYKKwkgKiBkd29yZHMsIHNv IHRoaXMgaXMgcm91bmRlZCB1cCB0byAyNTYgaGVyZS4gVGhlbiBkb3VibGUgdGhhdCB0byBnZXQK KwkgKiB0aGUgZnJlZSBzcGFjZSByZXF1aXJlbWVudCwgYmVjYXVzZSB0aGUgYmxvY2sgaXMgbm90 IGFsbG93ZWQgdG8KKwkgKiBzcGFuIHRoZSB0cmFuc2l0aW9uIGZyb20gdGhlIGVuZCB0byB0aGUg YmVnaW5uaW5nIG9mIHRoZSByaW5nLgorCSAqLworI2RlZmluZSBJOTE1X0JBVENIX0VYRUNfTUFY X0xFTiAgICAgICAgIDI1NgkvKiBtYXggZHdvcmRzIGVtaXR0ZWQgaGVyZSAqLworCW1pbl9zcGFj ZSA9IEk5MTVfQkFUQ0hfRVhFQ19NQVhfTEVOICogMiAqIHNpemVvZih1aW50MzJfdCk7CisJcmV0 ID0gbG9naWNhbF9yaW5nX3Rlc3Rfc3BhY2UocmluZ2J1ZiwgbWluX3NwYWNlKTsKKwlpZiAocmV0 KQorCQlnb3RvIGVycjsKKworCXJldCA9IGludGVsX2xvZ2ljYWxfcmluZ19iZWdpbihyZXEsIEk5 MTVfQkFUQ0hfRVhFQ19NQVhfTEVOKTsKKwlpZiAocmV0KQorCQlnb3RvIGVycjsKKworCS8qCiAJ ICogVW5jb25kaXRpb25hbGx5IGludmFsaWRhdGUgZ3B1IGNhY2hlcyBhbmQgZW5zdXJlIHRoYXQg d2UgZG8gZmx1c2gKIAkgKiBhbnkgcmVzaWR1YWwgd3JpdGVzIGZyb20gdGhlIHByZXZpb3VzIGJh dGNoLgogCSAqLwpAQCAtMTAwOCwxMCArMTA1OCw2IEBAIGludCBpbnRlbF9leGVjbGlzdHNfc3Vi bWlzc2lvbl9maW5hbChzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zKQogCiAJ aWYgKHJpbmcgPT0gJmRldl9wcml2LT5yaW5nW1JDU10gJiYKIAkgICAgcGFyYW1zLT5pbnN0cF9t b2RlICE9IGRldl9wcml2LT5yZWxhdGl2ZV9jb25zdGFudHNfbW9kZSkgewotCQlyZXQgPSBpbnRl bF9sb2dpY2FsX3JpbmdfYmVnaW4ocmVxLCA0KTsKLQkJaWYgKHJldCkKLQkJCXJldHVybiByZXQ7 Ci0KIAkJaW50ZWxfbG9naWNhbF9yaW5nX2VtaXQocmluZ2J1ZiwgTUlfTk9PUCk7CiAJCWludGVs X2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsIE1JX0xPQURfUkVHSVNURVJfSU1NKDEpKTsKIAkJ aW50ZWxfbG9naWNhbF9yaW5nX2VtaXRfcmVnKHJpbmdidWYsIElOU1RQTSk7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKaW5kZXggNzBlZjlmMC4uNWI5ZGY5ZCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwpAQCAtMjQ4Miw2ICsyNDgyLDMyIEBA IGludCBpbnRlbF9yaW5nX2NhY2hlbGluZV9hbGlnbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJlcSkKIAlyZXR1cm4gMDsKIH0KIAorLyoKKyAqIFRlc3QgdG8gc2VlIGlmIHRoZSByaW5n IGhhcyBzdWZmaWNpZW50IHNwYWNlIHRvIHN1Ym1pdCBhIGdpdmVuIHBpZWNlCisgKiBvZiB3b3Jr IHdpdGhvdXQgY2F1c2luZyBhIHN0YWxsCisgKi8KK2ludCBpbnRlbF9yaW5nX3Rlc3Rfc3BhY2Uo c3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYsIGludCBtaW5fc3BhY2UpCit7CisJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gcmluZ2J1Zi0+cmluZy0+ZGV2LT5kZXZf cHJpdmF0ZTsKKworCS8qIFRoZXJlIGlzIGEgc2VwYXJhdGUgTFJDIHZlcnNpb24gb2YgdGhpcyBj b2RlLiAqLworCVdBUk5fT04oaTkxNS5lbmFibGVfZXhlY2xpc3RzKTsKKworCWlmIChyaW5nYnVm LT5zcGFjZSA8IG1pbl9zcGFjZSkgeworCQkvKiBOZWVkIHRvIHVwZGF0ZSB0aGUgYWN0dWFsIHJp bmcgc3BhY2UuIE90aGVyd2lzZSwgdGhlIHN5c3RlbQorCQkgKiBoYW5ncyBmb3JldmVyIHRlc3Rp bmcgYSBzb2Z0d2FyZSBjb3B5IG9mIHRoZSBzcGFjZSB2YWx1ZSB0aGF0CisJCSAqIG5ldmVyIGNo YW5nZXMhCisJCSAqLworCQlyaW5nYnVmLT5oZWFkICA9IEk5MTVfUkVBRF9IRUFEKHJpbmdidWYt PnJpbmcpOworCQlyaW5nYnVmLT5zcGFjZSA9IGludGVsX3Jpbmdfc3BhY2UocmluZ2J1Zik7CisK KwkJaWYgKHJpbmdidWYtPnNwYWNlIDwgbWluX3NwYWNlKQorCQkJcmV0dXJuIC1FQUdBSU47CisJ fQorCisJcmV0dXJuIDA7Cit9CisKIHZvaWQgaW50ZWxfcmluZ19pbml0X3NlcW5vKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKnJpbmcsIHUzMiBzZXFubykKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gcmluZy0+ZGV2OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCmlu ZGV4IGNjYTQ3NmYuLmRlNjY4NDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmgKQEAgLTQ1NCw2ICs0NTQsNyBAQCB2b2lkIGludGVsX2NsZWFudXBfcmluZ19idWZmZXIo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7CiAKIGludCBpbnRlbF9yaW5nX2FsbG9jX3Jl cXVlc3RfZXh0cmFzKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCk7CiAKK2lu dCBpbnRlbF9yaW5nX3Rlc3Rfc3BhY2Uoc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYs IGludCBtaW5fc3BhY2UpOwogaW50IF9fbXVzdF9jaGVjayBpbnRlbF9yaW5nX2JlZ2luKHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLCBpbnQgbik7CiBpbnQgX19tdXN0X2NoZWNrIGlu dGVsX3JpbmdfY2FjaGVsaW5lX2FsaWduKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVx KTsKIHN0YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF9yaW5nX2VtaXQoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZywKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK