From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH v4 29/38] drm/i915: Add early exit to execbuff_final() if insufficient ring space Date: Mon, 11 Jan 2016 18:42:58 +0000 Message-ID: <1452537788-32136-30-git-send-email-John.C.Harrison@Intel.com> References: <1448278774-31376-1-git-send-email-John.C.Harrison@Intel.com> <1452537788-32136-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 0224A6E521 for ; Mon, 11 Jan 2016 10:43:39 -0800 (PST) In-Reply-To: <1452537788-32136-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 NS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgfCA0MiArKysrKysrKysrKysrKysrKy0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAgIHwgNTQgKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmMgICAgfCAyNiArKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5oICAgIHwgIDEgKwogNCBmaWxlcyBjaGFuZ2VkLCAxMDggaW5zZXJ0aW9ucygrKSwg MTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZl ci5jCmluZGV4IGRlODYwN2UuLjYzMzY0NzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9leGVjYnVmZmVyLmMKQEAgLTEwOTksMjUgKzEwOTksMTkgQEAgaTkxNV9yZXNldF9nZW43 X3NvbF9vZmZzZXRzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiB7CiAJc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqcmluZyA9IHJlcS0+cmluZzsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwotCWludCByZXQsIGk7CisJaW50IGk7CiAKIAlpZiAo IUlTX0dFTjcoZGV2KSB8fCByaW5nICE9ICZkZXZfcHJpdi0+cmluZ1tSQ1NdKSB7CiAJCURSTV9E RUJVRygic29sIHJlc2V0IGlzIGdlbjcvcmNzIG9ubHlcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsK IAl9CiAKLQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgNCAqIDMpOwotCWlmIChyZXQpCi0J CXJldHVybiByZXQ7Ci0KIAlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7CiAJCWludGVsX3Jpbmdf ZW1pdChyaW5nLCBNSV9MT0FEX1JFR0lTVEVSX0lNTSgxKSk7CiAJCWludGVsX3JpbmdfZW1pdChy aW5nLCBHRU43X1NPX1dSSVRFX09GRlNFVChpKSk7CiAJCWludGVsX3JpbmdfZW1pdChyaW5nLCAw KTsKIAl9CiAKLQlpbnRlbF9yaW5nX2FkdmFuY2UocmluZyk7Ci0KIAlyZXR1cm4gMDsKIH0KIApA QCAtMTI0NSw2ICsxMjM5LDcgQEAgaW50IGk5MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbl9m aW5hbChzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zKQogCXN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgICpyaW5nID0gcGFyYW1zLT5yaW5nOwogCXU2NCBleGVjX3N0YXJ0LCBleGVj X2xlbjsKIAlpbnQgcmV0OworCXVpbnQzMl90IG1pbl9zcGFjZTsKIAogCS8qIFRoZSBtdXRleCBt dXN0IGJlIGFjcXVpcmVkIGJlZm9yZSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gKi8KIAlXQVJOX09O KCFtdXRleF9pc19sb2NrZWQoJnBhcmFtcy0+ZGV2LT5zdHJ1Y3RfbXV0ZXgpKTsKQEAgLTEyNjcs OCArMTI2MiwzNiBAQCBpbnQgaTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJtaXNzaW9uX2ZpbmFsKHN0 cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMpCiAJaWYgKHJldCkKIAkJcmV0dXJu IHJldDsKIAorCS8qCisJICogSXQgd291bGQgYmUgYSBiYWQgaWRlYSB0byBydW4gb3V0IG9mIHNw YWNlIHdoaWxlIHdyaXRpbmcgY29tbWFuZHMKKwkgKiB0byB0aGUgcmluZy4gT25lIG9mIHRoZSBt YWpvciBhaW1zIG9mIHRoZSBzY2hlZHVsZXIgaXMgdG8gbm90CisJICogc3RhbGwgYXQgYW55IHBv aW50IGZvciBhbnkgcmVhc29uLiBIb3dldmVyLCBkb2luZyBhbiBlYXJseSBleGl0CisJICogaGFs ZiB3YXkgdGhyb3VnaCBzdWJtaXNzaW9uIGNvdWxkIHJlc3VsdCBpbiBhIHBhcnRpYWwgc2VxdWVu Y2UKKwkgKiBiZWluZyB3cml0dGVuIHdoaWNoIHdvdWxkIGxlYXZlIHRoZSBlbmdpbmUgaW4gYW4g dW5rbm93biBzdGF0ZS4KKwkgKiBUaGVyZWZvcmUsIGNoZWNrIGluIGFkdmFuY2UgdGhhdCB0aGVy ZSB3aWxsIGJlIGVub3VnaCBzcGFjZSBmb3IKKwkgKiB0aGUgZW50aXJlIHN1Ym1pc3Npb24gd2hl dGhlciBlbWl0dGVkIGJ5IHRoZSBjb2RlIGJlbG93IE9SIGJ5IGFueQorCSAqIG90aGVyIGZ1bmN0 aW9ucyB0aGF0IG1heSBiZSBleGVjdXRlZCBiZWZvcmUgdGhlIGVuZCBvZiBmaW5hbCgpLgorCSAq CisJICogTkI6IFRoaXMgdGVzdCBkZWxpYmVyYXRlbHkgb3ZlcmVzdGltYXRlcywgYmVjYXVzZSB0 aGF0J3MgZWFzaWVyCisJICogdGhhbiB0cmFjaW5nIGV2ZXJ5IHBvdGVudGlhbCBwYXRoIHRoYXQg Y291bGQgYmUgdGFrZW4hCisJICoKKwkgKiBDdXJyZW50IG1lYXN1cmVtZW50cyBzdWdnZXN0IHRo YXQgd2UgbWF5IG5lZWQgdG8gZW1pdCB1cCB0byAxODYKKwkgKiBkd29yZHMsIHNvIHRoaXMgaXMg cm91bmRlZCB1cCB0byAyNTYgaGVyZS4gVGhlbiBkb3VibGUgdGhhdCB0byBnZXQKKwkgKiB0aGUg ZnJlZSBzcGFjZSByZXF1aXJlbWVudCwgYmVjYXVzZSB0aGUgYmxvY2sgaXMgbm90IGFsbG93ZWQg dG8KKwkgKiBzcGFuIHRoZSB0cmFuc2l0aW9uIGZyb20gdGhlIGVuZCB0byB0aGUgYmVnaW5uaW5n IG9mIHRoZSByaW5nLgorCSAqLworI2RlZmluZSBJOTE1X0JBVENIX0VYRUNfTUFYX0xFTiAgICAg ICAgIDI1NgkvKiBtYXggZHdvcmRzIGVtaXR0ZWQgaGVyZSAqLworCW1pbl9zcGFjZSA9IEk5MTVf QkFUQ0hfRVhFQ19NQVhfTEVOICogMiAqIHNpemVvZih1aW50MzJfdCk7CisJcmV0ID0gaW50ZWxf cmluZ190ZXN0X3NwYWNlKHJlcS0+cmluZ2J1ZiwgbWluX3NwYWNlKTsKKwlpZiAocmV0KQorCQln b3RvIGVhcmx5X2Vycm9yOworCiAJaW50ZWxfcnVudGltZV9wbV9nZXQoZGV2X3ByaXYpOwogCisJ cmV0ID0gaW50ZWxfcmluZ19iZWdpbihyZXEsIEk5MTVfQkFUQ0hfRVhFQ19NQVhfTEVOKTsKKwlp ZiAocmV0KQorCQlnb3RvIGVycm9yOworCiAJLyoKIAkgKiBVbmNvbmRpdGlvbmFsbHkgaW52YWxp ZGF0ZSBncHUgY2FjaGVzIGFuZCBlbnN1cmUgdGhhdCB3ZSBkbyBmbHVzaAogCSAqIGFueSByZXNp ZHVhbCB3cml0ZXMgZnJvbSB0aGUgcHJldmlvdXMgYmF0Y2guCkBAIC0xMjg3LDEwICsxMzEwLDYg QEAgaW50IGk5MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbl9maW5hbChzdHJ1Y3QgaTkxNV9l eGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zKQogCiAJaWYgKHJpbmcgPT0gJmRldl9wcml2LT5yaW5n W1JDU10gJiYKIAkgICAgcGFyYW1zLT5pbnN0cF9tb2RlICE9IGRldl9wcml2LT5yZWxhdGl2ZV9j b25zdGFudHNfbW9kZSkgewotCQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHJlcSwgNCk7Ci0JCWlm IChyZXQpCi0JCQlnb3RvIGVycm9yOwotCiAJCWludGVsX3JpbmdfZW1pdChyaW5nLCBNSV9OT09Q KTsKIAkJaW50ZWxfcmluZ19lbWl0KHJpbmcsIE1JX0xPQURfUkVHSVNURVJfSU1NKDEpKTsKIAkJ aW50ZWxfcmluZ19lbWl0KHJpbmcsIElOU1RQTSk7CkBAIC0xMzI3LDYgKzEzNDYsNyBAQCBlcnJv cjoKIAkgKi8KIAlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7CiAKK2Vhcmx5X2Vycm9y OgogCWlmIChyZXQpCiAJCWludGVsX3JpbmdfcmVzZXJ2ZWRfc3BhY2VfY2FuY2VsKHJlcS0+cmlu Z2J1Zik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggOTJkOWIwMy4uYWU1ZGQwYSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTIyNiw2ICsyMjYsMjcgQEAgc3RhdGljIHZv aWQgbHJjX3NldHVwX2hhcmR3YXJlX3N0YXR1c19wYWdlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KnJpbmcsCiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpkZWZhdWx0X2N0eF9vYmopOwog CiAKKy8qCisgKiBUZXN0IHRvIHNlZSBpZiB0aGUgcmluZyBoYXMgc3VmZmljaWVudCBzcGFjZSB0 byBzdWJtaXQgYSBnaXZlbiBwaWVjZQorICogb2Ygd29yayB3aXRob3V0IGNhdXNpbmcgYSBzdGFs bAorICovCitzdGF0aWMgaW50IGxvZ2ljYWxfcmluZ190ZXN0X3NwYWNlKHN0cnVjdCBpbnRlbF9y aW5nYnVmZmVyICpyaW5nYnVmLAorCQkJCSAgIGludCBtaW5fc3BhY2UpCit7CisJaWYgKHJpbmdi dWYtPnNwYWNlIDwgbWluX3NwYWNlKSB7CisJCS8qIE5lZWQgdG8gdXBkYXRlIHRoZSBhY3R1YWwg cmluZyBzcGFjZS4gT3RoZXJ3aXNlLCB0aGUgc3lzdGVtCisJCSAqIGhhbmdzIGZvcmV2ZXIgdGVz dGluZyBhIHNvZnR3YXJlIGNvcHkgb2YgdGhlIHNwYWNlIHZhbHVlIHRoYXQKKwkJICogbmV2ZXIg Y2hhbmdlcyEKKwkJICovCisJCWludGVsX3JpbmdfdXBkYXRlX3NwYWNlKHJpbmdidWYpOworCisJ CWlmIChyaW5nYnVmLT5zcGFjZSA8IG1pbl9zcGFjZSkKKwkJCXJldHVybiAtRUFHQUlOOworCX0K KworCXJldHVybiAwOworfQorCiAvKioKICAqIGludGVsX3Nhbml0aXplX2VuYWJsZV9leGVjbGlz dHMoKSAtIHNhbml0aXplIGk5MTUuZW5hYmxlX2V4ZWNsaXN0cwogICogQGRldjogRFJNIGRldmlj ZS4KQEAgLTkzMiw2ICs5NTMsNyBAQCBpbnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Npb25fZmlu YWwoc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcykKIAlzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICpyaW5nID0gcGFyYW1zLT5yaW5nOwogCXU2NCBleGVjX3N0YXJ0OwogCWludCBy ZXQ7CisJdWludDMyX3QgbWluX3NwYWNlOwogCiAJLyogVGhlIG11dGV4IG11c3QgYmUgYWNxdWly ZWQgYmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiAqLwogCVdBUk5fT04oIW11dGV4X2lzX2xv Y2tlZCgmcGFyYW1zLT5kZXYtPnN0cnVjdF9tdXRleCkpOwpAQCAtOTU1LDYgKzk3NywzNCBAQCBp bnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Npb25fZmluYWwoc3RydWN0IGk5MTVfZXhlY2J1ZmZl cl9wYXJhbXMgKnBhcmFtcykKIAkJcmV0dXJuIHJldDsKIAogCS8qCisJICogSXQgd291bGQgYmUg YSBiYWQgaWRlYSB0byBydW4gb3V0IG9mIHNwYWNlIHdoaWxlIHdyaXRpbmcgY29tbWFuZHMKKwkg KiB0byB0aGUgcmluZy4gT25lIG9mIHRoZSBtYWpvciBhaW1zIG9mIHRoZSBzY2hlZHVsZXIgaXMg dG8gbm90CisJICogc3RhbGwgYXQgYW55IHBvaW50IGZvciBhbnkgcmVhc29uLiBIb3dldmVyLCBk b2luZyBhbiBlYXJseSBleGl0CisJICogaGFsZiB3YXkgdGhyb3VnaCBzdWJtaXNzaW9uIGNvdWxk IHJlc3VsdCBpbiBhIHBhcnRpYWwgc2VxdWVuY2UKKwkgKiBiZWluZyB3cml0dGVuIHdoaWNoIHdv dWxkIGxlYXZlIHRoZSBlbmdpbmUgaW4gYW4gdW5rbm93biBzdGF0ZS4KKwkgKiBUaGVyZWZvcmUs IGNoZWNrIGluIGFkdmFuY2UgdGhhdCB0aGVyZSB3aWxsIGJlIGVub3VnaCBzcGFjZSBmb3IKKwkg KiB0aGUgZW50aXJlIHN1Ym1pc3Npb24gd2hldGhlciBlbWl0dGVkIGJ5IHRoZSBjb2RlIGJlbG93 IE9SIGJ5IGFueQorCSAqIG90aGVyIGZ1bmN0aW9ucyB0aGF0IG1heSBiZSBleGVjdXRlZCBiZWZv cmUgdGhlIGVuZCBvZiBmaW5hbCgpLgorCSAqCisJICogTkI6IFRoaXMgdGVzdCBkZWxpYmVyYXRl bHkgb3ZlcmVzdGltYXRlcywgYmVjYXVzZSB0aGF0J3MgZWFzaWVyCisJICogdGhhbiB0cmFjaW5n IGV2ZXJ5IHBvdGVudGlhbCBwYXRoIHRoYXQgY291bGQgYmUgdGFrZW4hCisJICoKKwkgKiBDdXJy ZW50IG1lYXN1cmVtZW50cyBzdWdnZXN0IHRoYXQgd2UgbWF5IG5lZWQgdG8gZW1pdCB1cCB0byAx ODYKKwkgKiBkd29yZHMsIHNvIHRoaXMgaXMgcm91bmRlZCB1cCB0byAyNTYgaGVyZS4gVGhlbiBk b3VibGUgdGhhdCB0byBnZXQKKwkgKiB0aGUgZnJlZSBzcGFjZSByZXF1aXJlbWVudCwgYmVjYXVz ZSB0aGUgYmxvY2sgaXMgbm90IGFsbG93ZWQgdG8KKwkgKiBzcGFuIHRoZSB0cmFuc2l0aW9uIGZy b20gdGhlIGVuZCB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSByaW5nLgorCSAqLworI2RlZmluZSBJ OTE1X0JBVENIX0VYRUNfTUFYX0xFTiAgICAgICAgIDI1NgkvKiBtYXggZHdvcmRzIGVtaXR0ZWQg aGVyZSAqLworCW1pbl9zcGFjZSA9IEk5MTVfQkFUQ0hfRVhFQ19NQVhfTEVOICogMiAqIHNpemVv Zih1aW50MzJfdCk7CisJcmV0ID0gbG9naWNhbF9yaW5nX3Rlc3Rfc3BhY2UocmluZ2J1ZiwgbWlu X3NwYWNlKTsKKwlpZiAocmV0KQorCQlnb3RvIGVycjsKKworCXJldCA9IGludGVsX2xvZ2ljYWxf cmluZ19iZWdpbihyZXEsIEk5MTVfQkFUQ0hfRVhFQ19NQVhfTEVOKTsKKwlpZiAocmV0KQorCQln b3RvIGVycjsKKworCS8qCiAJICogVW5jb25kaXRpb25hbGx5IGludmFsaWRhdGUgZ3B1IGNhY2hl cyBhbmQgZW5zdXJlIHRoYXQgd2UgZG8gZmx1c2gKIAkgKiBhbnkgcmVzaWR1YWwgd3JpdGVzIGZy b20gdGhlIHByZXZpb3VzIGJhdGNoLgogCSAqLwpAQCAtOTY0LDEwICsxMDE0LDYgQEAgaW50IGlu dGVsX2V4ZWNsaXN0c19zdWJtaXNzaW9uX2ZpbmFsKHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFy YW1zICpwYXJhbXMpCiAKIAlpZiAocmluZyA9PSAmZGV2X3ByaXYtPnJpbmdbUkNTXSAmJgogCSAg ICBwYXJhbXMtPmluc3RwX21vZGUgIT0gZGV2X3ByaXYtPnJlbGF0aXZlX2NvbnN0YW50c19tb2Rl KSB7Ci0JCXJldCA9IGludGVsX2xvZ2ljYWxfcmluZ19iZWdpbihyZXEsIDQpOwotCQlpZiAocmV0 KQotCQkJcmV0dXJuIHJldDsKLQogCQlpbnRlbF9sb2dpY2FsX3JpbmdfZW1pdChyaW5nYnVmLCBN SV9OT09QKTsKIAkJaW50ZWxfbG9naWNhbF9yaW5nX2VtaXQocmluZ2J1ZiwgTUlfTE9BRF9SRUdJ U1RFUl9JTU0oMSkpOwogCQlpbnRlbF9sb2dpY2FsX3JpbmdfZW1pdChyaW5nYnVmLCBJTlNUUE0p OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCmluZGV4IDNmM2Q5MjguLjQ3 NzIzNWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKQEAgLTI0NzIs NiArMjQ3MiwzMiBAQCBpbnQgaW50ZWxfcmluZ19jYWNoZWxpbmVfYWxpZ24oc3RydWN0IGRybV9p OTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiAJcmV0dXJuIDA7CiB9CiAKKy8qCisgKiBUZXN0IHRvIHNl ZSBpZiB0aGUgcmluZyBoYXMgc3VmZmljaWVudCBzcGFjZSB0byBzdWJtaXQgYSBnaXZlbiBwaWVj ZQorICogb2Ygd29yayB3aXRob3V0IGNhdXNpbmcgYSBzdGFsbAorICovCitpbnQgaW50ZWxfcmlu Z190ZXN0X3NwYWNlKHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmLCBpbnQgbWluX3Nw YWNlKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHJpbmdidWYtPnJp bmctPmRldi0+ZGV2X3ByaXZhdGU7CisKKwkvKiBUaGVyZSBpcyBhIHNlcGFyYXRlIExSQyB2ZXJz aW9uIG9mIHRoaXMgY29kZS4gKi8KKwlXQVJOX09OKGk5MTUuZW5hYmxlX2V4ZWNsaXN0cyk7CisK KwlpZiAocmluZ2J1Zi0+c3BhY2UgPCBtaW5fc3BhY2UpIHsKKwkJLyogTmVlZCB0byB1cGRhdGUg dGhlIGFjdHVhbCByaW5nIHNwYWNlLiBPdGhlcndpc2UsIHRoZSBzeXN0ZW0KKwkJICogaGFuZ3Mg Zm9yZXZlciB0ZXN0aW5nIGEgc29mdHdhcmUgY29weSBvZiB0aGUgc3BhY2UgdmFsdWUgdGhhdAor CQkgKiBuZXZlciBjaGFuZ2VzIQorCQkgKi8KKwkJcmluZ2J1Zi0+aGVhZCAgPSBJOTE1X1JFQURf SEVBRChyaW5nYnVmLT5yaW5nKTsKKwkJcmluZ2J1Zi0+c3BhY2UgPSBpbnRlbF9yaW5nX3NwYWNl KHJpbmdidWYpOworCisJCWlmIChyaW5nYnVmLT5zcGFjZSA8IG1pbl9zcGFjZSkKKwkJCXJldHVy biAtRUFHQUlOOworCX0KKworCXJldHVybiAwOworfQorCiB2b2lkIGludGVsX3JpbmdfaW5pdF9z ZXFubyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLCB1MzIgc2Vxbm8pCiB7CiAJc3RydWN0 IGRybV9kZXZpY2UgKmRldiA9IHJpbmctPmRldjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jp bmdidWZmZXIuaAppbmRleCAxMzZhMDM5Li5iYzQ0N2FhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5oCkBAIC00NDYsNiArNDQ2LDcgQEAgdm9pZCBpbnRlbF9jbGVhbnVw X3JpbmdfYnVmZmVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOwogCiBpbnQgaW50ZWxf cmluZ19hbGxvY19yZXF1ZXN0X2V4dHJhcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJl cXVlc3QpOwogCitpbnQgaW50ZWxfcmluZ190ZXN0X3NwYWNlKHN0cnVjdCBpbnRlbF9yaW5nYnVm ZmVyICpyaW5nYnVmLCBpbnQgbWluX3NwYWNlKTsKIGludCBfX211c3RfY2hlY2sgaW50ZWxfcmlu Z19iZWdpbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwgaW50IG4pOwogaW50IF9f bXVzdF9jaGVjayBpbnRlbF9yaW5nX2NhY2hlbGluZV9hbGlnbihzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSk7CiBzdGF0aWMgaW5saW5lIHZvaWQgaW50ZWxfcmluZ19lbWl0KHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK