From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 31/39] drm/i915: Add early exit to execbuff_final() if insufficient ring space Date: Mon, 23 Nov 2015 11:39:26 +0000 Message-ID: <1448278774-31376-32-git-send-email-John.C.Harrison@Intel.com> References: <1448278774-31376-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 22AB06E519 for ; Mon, 23 Nov 2015 03:40:11 -0800 (PST) In-Reply-To: <1448278774-31376-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 bmcgdGhlIENQVSB3aGVuCnRoZSBHUFUgaXMgYnVzeSBhbmQgdW5hYmxlIHRvIGFjY2VwdCBtb3Jl IHdvcmsuIFRoaXMgY2hhbmdlIGFkZHMgc3VwcG9ydCB0byB0aGUKcmluZyBzdWJtaXNzaW9uIGNv ZGUgdG8gYWxsb3cgYSByaW5nIHNwYWNlIGNoZWNrIHRvIGJlIHBlcmZvcm1lZCBiZWZvcmUKYXR0 ZW1wdGluZyB0byBzdWJtaXQgYSBiYXRjaCBidWZmZXIgdG8gdGhlIGhhcmR3YXJlLiBJZiBpbnN1 ZmZpY2llbnQgc3BhY2UgaXMKYXZhaWxhYmxlIHRoZW4gdGhlIHNjaGVkdWxlciBjYW4gZ28gYXdh eSBhbmQgY29tZSBiYWNrIGxhdGVyLCBsZXR0aW5nIHRoZSBDUFUKZ2V0IG9uIHdpdGggb3RoZXIg d29yaywgcmF0aGVyIHRoYW4gc3RhbGxpbmcgYW5kIHdhaXRpbmcgZm9yIHRoZSBoYXJkd2FyZSB0 bwpjYXRjaCB1cC4KCkNoYW5nZS1JZDogSTI2NzE1OWNlMTE1MGNiNjcxNGQzNGE0OWI4NDFiY2Jl NGJmNjYzMjYKRm9yOiBWSVotMTU4NwpTaWduZWQtb2ZmLWJ5OiBKb2huIEhhcnJpc29uIDxKb2hu LkMuSGFycmlzb25ASW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2V4ZWNidWZmZXIuYyB8IDQyICsrKysrKysrKysrKysrKystLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jICAgICAgICAgICB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jICAgIHwgMjQg KysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oICAg IHwgIDEgKwogNCBmaWxlcyBjaGFuZ2VkLCAxMDkgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZl ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCmluZGV4IDhh Y2EzNzQuLmNhNTcxNDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVm ZmVyLmMKQEAgLTExMDEsMjUgKzExMDEsMTkgQEAgaTkxNV9yZXNldF9nZW43X3NvbF9vZmZzZXRz KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiB7CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmlu ZyA9IHJlcS0+cmluZzsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYt PmRldl9wcml2YXRlOwotCWludCByZXQsIGk7CisJaW50IGk7CiAKIAlpZiAoIUlTX0dFTjcoZGV2 KSB8fCByaW5nICE9ICZkZXZfcHJpdi0+cmluZ1tSQ1NdKSB7CiAJCURSTV9ERUJVRygic29sIHJl c2V0IGlzIGdlbjcvcmNzIG9ubHlcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQlyZXQg PSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgNCAqIDMpOwotCWlmIChyZXQpCi0JCXJldHVybiByZXQ7 Ci0KIAlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7CiAJCWludGVsX3JpbmdfZW1pdChyaW5nLCBN SV9MT0FEX1JFR0lTVEVSX0lNTSgxKSk7CiAJCWludGVsX3JpbmdfZW1pdChyaW5nLCBHRU43X1NP X1dSSVRFX09GRlNFVChpKSk7CiAJCWludGVsX3JpbmdfZW1pdChyaW5nLCAwKTsKIAl9CiAKLQlp bnRlbF9yaW5nX2FkdmFuY2UocmluZyk7Ci0KIAlyZXR1cm4gMDsKIH0KIApAQCAtMTI0Niw2ICsx MjQwLDcgQEAgaW50IGk5MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbl9maW5hbChzdHJ1Y3Qg aTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zKQogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg ICpyaW5nID0gcGFyYW1zLT5yaW5nOwogCXU2NCBleGVjX3N0YXJ0LCBleGVjX2xlbjsKIAlpbnQg cmV0OworCXVpbnQzMl90IG1pbl9zcGFjZTsKIAogCS8qIFRoZSBtdXRleCBtdXN0IGJlIGFjcXVp cmVkIGJlZm9yZSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gKi8KIAlCVUdfT04oIW11dGV4X2lzX2xv Y2tlZCgmcGFyYW1zLT5kZXYtPnN0cnVjdF9tdXRleCkpOwpAQCAtMTI2Nyw4ICsxMjYyLDM2IEBA IGludCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb25fZmluYWwoc3RydWN0IGk5MTVfZXhl Y2J1ZmZlcl9wYXJhbXMgKnBhcmFtcykKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCisJLyoK KwkgKiBJdCB3b3VsZCBiZSBhIGJhZCBpZGVhIHRvIHJ1biBvdXQgb2Ygc3BhY2Ugd2hpbGUgd3Jp dGluZyBjb21tYW5kcworCSAqIHRvIHRoZSByaW5nLiBPbmUgb2YgdGhlIG1ham9yIGFpbXMgb2Yg dGhlIHNjaGVkdWxlciBpcyB0byBub3Qgc3RhbGwKKwkgKiBhdCBhbnkgcG9pbnQgZm9yIGFueSBy ZWFzb24uIEhvd2V2ZXIsIGRvaW5nIGFuIGVhcmx5IGV4aXQgaGFsZiB3YXkKKwkgKiB0aHJvdWdo IHN1Ym1pc3Npb24gY291bGQgcmVzdWx0IGluIGEgcGFydGlhbCBzZXF1ZW5jZSBiZWluZyB3cml0 dGVuCisJICogd2hpY2ggd291bGQgbGVhdmUgdGhlIGVuZ2luZSBpbiBhbiB1bmtub3duIHN0YXRl LiBUaGVyZWZvcmUsIGNoZWNrIGluCisJICogYWR2YW5jZSB0aGF0IHRoZXJlIHdpbGwgYmUgZW5v dWdoIHNwYWNlIGZvciB0aGUgZW50aXJlIHN1Ym1pc3Npb24KKwkgKiB3aGV0aGVyIGVtaXR0ZWQg YnkgdGhlIGNvZGUgYmVsb3cgT1IgYnkgYW55IG90aGVyIGZ1bmN0aW9ucyB0aGF0IG1heQorCSAq IGJlIGV4ZWN1dGVkIGJlZm9yZSB0aGUgZW5kIG9mIGZpbmFsKCkuCisJICoKKwkgKiBOQjogVGhp cyB0ZXN0IGRlbGliZXJhdGVseSBvdmVyZXN0aW1hdGVzLCBiZWNhdXNlIHRoYXQncyBlYXNpZXIg dGhhbgorCSAqIHRyYWNpbmcgZXZlcnkgcG90ZW50aWFsIHBhdGggdGhhdCBjb3VsZCBiZSB0YWtl biEKKwkgKgorCSAqIEN1cnJlbnQgbWVhc3VyZW1lbnRzIHN1Z2dlc3QgdGhhdCB3ZSBtYXkgbmVl ZCB0byBlbWl0IHVwIHRvIDc0NCBieXRlcworCSAqICgxODYgZHdvcmRzKSwgc28gdGhpcyBpcyBy b3VuZGVkIHVwIHRvIDI1NiBkd29yZHMgaGVyZS4gVGhlbiB3ZSBkb3VibGUKKwkgKiB0aGF0IHRv IGdldCB0aGUgZnJlZSBzcGFjZSByZXF1aXJlbWVudCwgYmVjYXVzZSB0aGUgYmxvY2sgaXNuJ3Qg YWxsb3dlZAorCSAqIHRvIHNwYW4gdGhlIHRyYW5zaXRpb24gZnJvbSB0aGUgZW5kIHRvIHRoZSBi ZWdpbm5pbmcgb2YgdGhlIHJpbmcuCisJICovCisjZGVmaW5lIEk5MTVfQkFUQ0hfRVhFQ19NQVhf TEVOICAgICAgICAgMjU2CS8qIG1heCBkd29yZHMgZW1pdHRlZCBoZXJlCSovCisJbWluX3NwYWNl ID0gSTkxNV9CQVRDSF9FWEVDX01BWF9MRU4gKiAyICogc2l6ZW9mKHVpbnQzMl90KTsKKwlyZXQg PSBpbnRlbF9yaW5nX3Rlc3Rfc3BhY2UocGFyYW1zLT5yZXF1ZXN0LT5yaW5nYnVmLCBtaW5fc3Bh Y2UpOworCWlmIChyZXQpCisJCWdvdG8gZWFybHlfZXJyb3I7CisKIAlpbnRlbF9ydW50aW1lX3Bt X2dldChkZXZfcHJpdik7CiAKKwlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHBhcmFtcy0+cmVxdWVz dCwgSTkxNV9CQVRDSF9FWEVDX01BWF9MRU4pOworCWlmIChyZXQpCisJCWdvdG8gZXJyb3I7CisK IAkvKgogCSAqIFVuY29uZGl0aW9uYWxseSBpbnZhbGlkYXRlIGdwdSBjYWNoZXMgYW5kIGVuc3Vy ZSB0aGF0IHdlIGRvIGZsdXNoCiAJICogYW55IHJlc2lkdWFsIHdyaXRlcyBmcm9tIHRoZSBwcmV2 aW91cyBiYXRjaC4KQEAgLTEyODcsMTAgKzEzMTAsNiBAQCBpbnQgaTkxNV9nZW1fcmluZ2J1ZmZl cl9zdWJtaXNzaW9uX2ZpbmFsKHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMp CiAKIAlpZiAocmluZyA9PSAmZGV2X3ByaXYtPnJpbmdbUkNTXSAmJgogCSAgICBwYXJhbXMtPmlu c3RwX21vZGUgIT0gZGV2X3ByaXYtPnJlbGF0aXZlX2NvbnN0YW50c19tb2RlKSB7Ci0JCXJldCA9 IGludGVsX3JpbmdfYmVnaW4ocGFyYW1zLT5yZXF1ZXN0LCA0KTsKLQkJaWYgKHJldCkKLQkJCWdv dG8gZXJyb3I7Ci0KIAkJaW50ZWxfcmluZ19lbWl0KHJpbmcsIE1JX05PT1ApOwogCQlpbnRlbF9y aW5nX2VtaXQocmluZywgTUlfTE9BRF9SRUdJU1RFUl9JTU0oMSkpOwogCQlpbnRlbF9yaW5nX2Vt aXQocmluZywgSU5TVFBNKTsKQEAgLTEzMjcsNiArMTM0Niw3IEBAIGVycm9yOgogCSAqLwogCWlu dGVsX3J1bnRpbWVfcG1fcHV0KGRldl9wcml2KTsKIAorZWFybHlfZXJyb3I6CiAJaWYgKHJldCkK IAkJaW50ZWxfcmluZ19yZXNlcnZlZF9zcGFjZV9jYW5jZWwocGFyYW1zLT5yZXF1ZXN0LT5yaW5n YnVmKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCA2YzAxZjZjLi5iNWFiZWE0IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtMjI2LDYgKzIyNiwzMCBAQCBzdGF0aWMgdm9p ZCBscmNfc2V0dXBfaGFyZHdhcmVfc3RhdHVzX3BhZ2Uoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZywKIAkJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmRlZmF1bHRfY3R4X29iaik7CiAK IAorLyogVGVzdCB0byBzZWUgaWYgdGhlIHJpbmcgaGFzIHN1ZmZpY2llbnQgc3BhY2UgdG8gc3Vi bWl0IGEgZ2l2ZW4gcGllY2Ugb2Ygd29yaworICogd2l0aG91dCBjYXVzaW5nIGEgc3RhbGwgKi8K K3N0YXRpYyBpbnQgbG9naWNhbF9yaW5nX3Rlc3Rfc3BhY2Uoc3RydWN0IGludGVsX3JpbmdidWZm ZXIgKnJpbmdidWYsIGludCBtaW5fc3BhY2UpCit7CisJLy9zdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nID0gcmluZ2J1Zi0+cmluZzsKKwkvL3N0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSByaW5n LT5kZXY7CisJLy9zdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOworCisJaWYgKHJpbmdidWYtPnNwYWNlIDwgbWluX3NwYWNlKSB7CisJCS8qIE5lZWQg dG8gdXBkYXRlIHRoZSBhY3R1YWwgcmluZyBzcGFjZS4gT3RoZXJ3aXNlLCB0aGUgc3lzdGVtCisJ CSAqIGhhbmdzIGZvcmV2ZXIgdGVzdGluZyBhIHNvZnR3YXJlIGNvcHkgb2YgdGhlIHNwYWNlIHZh bHVlIHRoYXQKKwkJICogbmV2ZXIgY2hhbmdlcyEKKwkJICovCisJCS8vcmluZ2J1Zi0+aGVhZCAg PSBJOTE1X1JFQURfSEVBRChyaW5nKTsKKwkJLy9yaW5nYnVmLT5zcGFjZSA9IGludGVsX3Jpbmdf c3BhY2UocmluZ2J1Zik7CisJCWludGVsX3JpbmdfdXBkYXRlX3NwYWNlKHJpbmdidWYpOworCisJ CWlmIChyaW5nYnVmLT5zcGFjZSA8IG1pbl9zcGFjZSkKKwkJCXJldHVybiAtRUFHQUlOOworCX0K KworCXJldHVybiAwOworfQorCiAvKioKICAqIGludGVsX3Nhbml0aXplX2VuYWJsZV9leGVjbGlz dHMoKSAtIHNhbml0aXplIGk5MTUuZW5hYmxlX2V4ZWNsaXN0cwogICogQGRldjogRFJNIGRldmlj ZS4KQEAgLTkzMCw2ICs5NTQsNyBAQCBpbnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Npb25fZmlu YWwoc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcykKIAlzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICAqcmluZyA9IHBhcmFtcy0+cmluZzsKIAl1NjQgZXhlY19zdGFydDsKIAlpbnQg cmV0OworCXVpbnQzMl90IG1pbl9zcGFjZTsKIAogCS8qIFRoZSBtdXRleCBtdXN0IGJlIGFjcXVp cmVkIGJlZm9yZSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gKi8KIAlCVUdfT04oIW11dGV4X2lzX2xv Y2tlZCgmcGFyYW1zLT5kZXYtPnN0cnVjdF9tdXRleCkpOwpAQCAtOTUyLDYgKzk3NywzNCBAQCBp bnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Npb25fZmluYWwoc3RydWN0IGk5MTVfZXhlY2J1ZmZl cl9wYXJhbXMgKnBhcmFtcykKIAkJcmV0dXJuIHJldDsKIAogCS8qCisJICogSXQgd291bGQgYmUg YSBiYWQgaWRlYSB0byBydW4gb3V0IG9mIHNwYWNlIHdoaWxlIHdyaXRpbmcgY29tbWFuZHMKKwkg KiB0byB0aGUgcmluZy4gT25lIG9mIHRoZSBtYWpvciBhaW1zIG9mIHRoZSBzY2hlZHVsZXIgaXMg dG8gbm90IHN0YWxsCisJICogYXQgYW55IHBvaW50IGZvciBhbnkgcmVhc29uLiBIb3dldmVyLCBk b2luZyBhbiBlYXJseSBleGl0IGhhbGYgd2F5CisJICogdGhyb3VnaCBzdWJtaXNzaW9uIGNvdWxk IHJlc3VsdCBpbiBhIHBhcnRpYWwgc2VxdWVuY2UgYmVpbmcgd3JpdHRlbgorCSAqIHdoaWNoIHdv dWxkIGxlYXZlIHRoZSBlbmdpbmUgaW4gYW4gdW5rbm93biBzdGF0ZS4gVGhlcmVmb3JlLCBjaGVj ayBpbgorCSAqIGFkdmFuY2UgdGhhdCB0aGVyZSB3aWxsIGJlIGVub3VnaCBzcGFjZSBmb3IgdGhl IGVudGlyZSBzdWJtaXNzaW9uCisJICogd2hldGhlciBlbWl0dGVkIGJ5IHRoZSBjb2RlIGJlbG93 IE9SIGJ5IGFueSBvdGhlciBmdW5jdGlvbnMgdGhhdCBtYXkKKwkgKiBiZSBleGVjdXRlZCBiZWZv cmUgdGhlIGVuZCBvZiBmaW5hbCgpLgorCSAqCisJICogTkI6IFRoaXMgdGVzdCBkZWxpYmVyYXRl bHkgb3ZlcmVzdGltYXRlcywgYmVjYXVzZSB0aGF0J3MgZWFzaWVyIHRoYW4KKwkgKiB0cmFjaW5n IGV2ZXJ5IHBvdGVudGlhbCBwYXRoIHRoYXQgY291bGQgYmUgdGFrZW4hCisJICoKKwkgKiBDdXJy ZW50IG1lYXN1cmVtZW50cyBzdWdnZXN0IHRoYXQgd2UgbWF5IG5lZWQgdG8gZW1pdCB1cCB0byA/ Pz8gYnl0ZXMKKwkgKiAoMTg2IGR3b3JkcyksIHNvIHRoaXMgaXMgcm91bmRlZCB1cCB0byAyNTYg ZHdvcmRzIGhlcmUuIFRoZW4gd2UgZG91YmxlCisJICogdGhhdCB0byBnZXQgdGhlIGZyZWUgc3Bh Y2UgcmVxdWlyZW1lbnQsIGJlY2F1c2UgdGhlIGJsb2NrIGlzbid0IGFsbG93ZWQKKwkgKiB0byBz cGFuIHRoZSB0cmFuc2l0aW9uIGZyb20gdGhlIGVuZCB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBy aW5nLgorCSAqLworI2RlZmluZSBJOTE1X0JBVENIX0VYRUNfTUFYX0xFTiAgICAgICAgIDI1Ngkv KiBtYXggZHdvcmRzIGVtaXR0ZWQgaGVyZQkqLworCW1pbl9zcGFjZSA9IEk5MTVfQkFUQ0hfRVhF Q19NQVhfTEVOICogMiAqIHNpemVvZih1aW50MzJfdCk7CisJcmV0ID0gbG9naWNhbF9yaW5nX3Rl c3Rfc3BhY2UocGFyYW1zLT5yZXF1ZXN0LT5yaW5nYnVmLCBtaW5fc3BhY2UpOworCWlmIChyZXQp CisJCWdvdG8gZXJyOworCisJcmV0ID0gaW50ZWxfbG9naWNhbF9yaW5nX2JlZ2luKHBhcmFtcy0+ cmVxdWVzdCwgSTkxNV9CQVRDSF9FWEVDX01BWF9MRU4pOworCWlmIChyZXQpCisJCWdvdG8gZXJy OworCisJLyoKIAkgKiBVbmNvbmRpdGlvbmFsbHkgaW52YWxpZGF0ZSBncHUgY2FjaGVzIGFuZCBl bnN1cmUgdGhhdCB3ZSBkbyBmbHVzaAogCSAqIGFueSByZXNpZHVhbCB3cml0ZXMgZnJvbSB0aGUg cHJldmlvdXMgYmF0Y2guCiAJICovCkBAIC05NjMsMTAgKzEwMTYsNiBAQCBpbnQgaW50ZWxfZXhl Y2xpc3RzX3N1Ym1pc3Npb25fZmluYWwoc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBh cmFtcykKIAkgICAgcGFyYW1zLT5pbnN0cF9tb2RlICE9IGRldl9wcml2LT5yZWxhdGl2ZV9jb25z dGFudHNfbW9kZSkgewogCQlzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiA9IHBhcmFt cy0+cmVxdWVzdC0+cmluZ2J1ZjsKIAotCQlyZXQgPSBpbnRlbF9sb2dpY2FsX3JpbmdfYmVnaW4o cGFyYW1zLT5yZXF1ZXN0LCA0KTsKLQkJaWYgKHJldCkKLQkJCXJldHVybiByZXQ7Ci0KIAkJaW50 ZWxfbG9naWNhbF9yaW5nX2VtaXQocmluZ2J1ZiwgTUlfTk9PUCk7CiAJCWludGVsX2xvZ2ljYWxf cmluZ19lbWl0KHJpbmdidWYsIE1JX0xPQURfUkVHSVNURVJfSU1NKDEpKTsKIAkJaW50ZWxfbG9n aWNhbF9yaW5nX2VtaXQocmluZ2J1ZiwgSU5TVFBNKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3JpbmdidWZmZXIuYwppbmRleCAyZDhkYzU0Li45N2I5ZGZhIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmluZ2J1ZmZlci5jCkBAIC0yNDcyLDYgKzI0NzIsMzAgQEAgaW50IGludGVsX3Jp bmdfY2FjaGVsaW5lX2FsaWduKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogCXJl dHVybiAwOwogfQogCisvKiBUZXN0IHRvIHNlZSBpZiB0aGUgcmluZyBoYXMgc3VmZmljaWVudCBz cGFjZSB0byBzdWJtaXQgYSBnaXZlbiBwaWVjZSBvZiB3b3JrCisgKiB3aXRob3V0IGNhdXNpbmcg YSBzdGFsbCAqLworaW50IGludGVsX3JpbmdfdGVzdF9zcGFjZShzdHJ1Y3QgaW50ZWxfcmluZ2J1 ZmZlciAqcmluZ2J1ZiwgaW50IG1pbl9zcGFjZSkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSByaW5nYnVmLT5yaW5nLT5kZXYtPmRldl9wcml2YXRlOworCisJLyogVGhl cmUgaXMgYSBzZXBhcmF0ZSBMUkMgdmVyc2lvbiBvZiB0aGlzIGNvZGUuICovCisJQlVHX09OKGk5 MTUuZW5hYmxlX2V4ZWNsaXN0cyk7CisKKwlpZiAocmluZ2J1Zi0+c3BhY2UgPCBtaW5fc3BhY2Up IHsKKwkJLyogTmVlZCB0byB1cGRhdGUgdGhlIGFjdHVhbCByaW5nIHNwYWNlLiBPdGhlcndpc2Us IHRoZSBzeXN0ZW0KKwkJICogaGFuZ3MgZm9yZXZlciB0ZXN0aW5nIGEgc29mdHdhcmUgY29weSBv ZiB0aGUgc3BhY2UgdmFsdWUgdGhhdAorCQkgKiBuZXZlciBjaGFuZ2VzIQorCQkgKi8KKwkJcmlu Z2J1Zi0+aGVhZCAgPSBJOTE1X1JFQURfSEVBRChyaW5nYnVmLT5yaW5nKTsKKwkJcmluZ2J1Zi0+ c3BhY2UgPSBpbnRlbF9yaW5nX3NwYWNlKHJpbmdidWYpOworCisJCWlmIChyaW5nYnVmLT5zcGFj ZSA8IG1pbl9zcGFjZSkKKwkJCXJldHVybiAtRUFHQUlOOworCX0KKworCXJldHVybiAwOworfQor CiB2b2lkIGludGVsX3JpbmdfaW5pdF9zZXFubyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5n LCB1MzIgc2Vxbm8pCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHJpbmctPmRldjsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAppbmRleCBkMzFjOTRmLi5jNDcyZjhh IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCkBAIC00NjksNiArNDY5 LDcgQEAgdm9pZCBpbnRlbF9jbGVhbnVwX3JpbmdfYnVmZmVyKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcpOwogCiBpbnQgaW50ZWxfcmluZ19hbGxvY19yZXF1ZXN0X2V4dHJhcyhzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpOwogCitpbnQgaW50ZWxfcmluZ190ZXN0X3Nw YWNlKHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmLCBpbnQgbWluX3NwYWNlKTsKIGlu dCBfX211c3RfY2hlY2sgaW50ZWxfcmluZ19iZWdpbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJlcSwgaW50IG4pOwogaW50IF9fbXVzdF9jaGVjayBpbnRlbF9yaW5nX2NhY2hlbGluZV9h bGlnbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSk7CiBzdGF0aWMgaW5saW5lIHZv aWQgaW50ZWxfcmluZ19lbWl0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCi0tIAoxLjku MQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK