From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruce Wang Subject: [PATCH v2 1/7] drm/msm/dpu: Remove unneeded checks in dpu_plane.c Date: Thu, 20 Sep 2018 12:49:18 -0400 Message-ID: <20180920164924.225847-2-bzwang@chromium.org> References: <20180920164924.225847-1-bzwang@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180920164924.225847-1-bzwang-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org UmVtb3ZlcyBzb21lIGNoZWNrcyBmcm9tIGRwdV9wbGFuZS5jIHRoYXQgd2lsbCBuZXZlciByZXN1 bHQgaW4gYW4gZXJyb3IuClN1YnNlcXVlbnQgdmFyaWFibGUgYXNzaWdubWVudHMgYmVjb21lIHBh cnQgb2YgdGhlIGluaXRpYWxpemF0aW9uIHdoZXJldmVyCnBvc3NpYmxlLiBVbnVzZWQgdmFyaWFi bGVzIGFyZSByZW1vdmVkLgoKU2lnbmVkLW9mZi1ieTogQnJ1Y2UgV2FuZyA8Ynp3YW5nQGNocm9t aXVtLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcGxhbmUuYyB8 IDE5MCArKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTcgaW5zZXJ0aW9u cygrKSwgMTczIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X3BsYW5lLmMKaW5kZXggMWNlNzY0NjBkNzEwLi45OTg4N2M4MDRlNGUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wbGFuZS5jCkBAIC0xMjMsMTMgKzEyMyw4IEBAIHN0cnVj dCBkcHVfcGxhbmUgewogCiBzdGF0aWMgc3RydWN0IGRwdV9rbXMgKl9kcHVfcGxhbmVfZ2V0X2tt cyhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKIHsKLQlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpw cml2OworCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXYgPSBwbGFuZS0+ZGV2LT5kZXZfcHJp dmF0ZTsKIAotCWlmICghcGxhbmUgfHwgIXBsYW5lLT5kZXYpCi0JCXJldHVybiBOVUxMOwotCXBy aXYgPSBwbGFuZS0+ZGV2LT5kZXZfcHJpdmF0ZTsKLQlpZiAoIXByaXYpCi0JCXJldHVybiBOVUxM OwogCXJldHVybiB0b19kcHVfa21zKHByaXYtPmttcyk7CiB9CiAKQEAgLTE0OCw3ICsxNDMsNyBA QCBzdGF0aWMgaW5saW5lIGludCBfZHB1X3BsYW5lX2NhbGNfZmlsbF9sZXZlbChzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSwKIAl1MzIgZml4ZWRfYnVmZl9zaXplOwogCXUzMiB0b3RhbF9mbDsKIAot CWlmICghcGxhbmUgfHwgIWZtdCB8fCAhcGxhbmUtPnN0YXRlIHx8ICFzcmNfd2lkdGggfHwgIWZt dC0+YnBwKSB7CisJaWYgKCFmbXQgfHwgIXBsYW5lLT5zdGF0ZSB8fCAhc3JjX3dpZHRoIHx8ICFm bXQtPmJwcCkgewogCQlEUFVfRVJST1IoImludmFsaWQgYXJndW1lbnRzXG4iKTsKIAkJcmV0dXJu IDA7CiAJfQpAQCAtMjI5LDI2ICsyMjQsMTEgQEAgc3RhdGljIHU2NCBfZHB1X3BsYW5lX2dldF9x b3NfbHV0KGNvbnN0IHN0cnVjdCBkcHVfcW9zX2x1dF90YmwgKnRibCwKIHN0YXRpYyB2b2lkIF9k cHVfcGxhbmVfc2V0X3Fvc19sdXQoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCXN0cnVjdCBk cm1fZnJhbWVidWZmZXIgKmZiKQogewotCXN0cnVjdCBkcHVfcGxhbmUgKnBkcHU7CisJc3RydWN0 IGRwdV9wbGFuZSAqcGRwdSA9IHRvX2RwdV9wbGFuZShwbGFuZSk7CiAJY29uc3Qgc3RydWN0IGRw dV9mb3JtYXQgKmZtdCA9IE5VTEw7CiAJdTY0IHFvc19sdXQ7CiAJdTMyIHRvdGFsX2ZsID0gMCwg bHV0X3VzYWdlOwogCi0JaWYgKCFwbGFuZSB8fCAhZmIpIHsKLQkJRFBVX0VSUk9SKCJpbnZhbGlk IGFyZ3VtZW50cyBwbGFuZSAlZCBmYiAlZFxuIiwKLQkJCQlwbGFuZSAhPSAwLCBmYiAhPSAwKTsK LQkJcmV0dXJuOwotCX0KLQotCXBkcHUgPSB0b19kcHVfcGxhbmUocGxhbmUpOwotCi0JaWYgKCFw ZHB1LT5waXBlX2h3IHx8ICFwZHB1LT5waXBlX3NibGsgfHwgIXBkcHUtPmNhdGFsb2cpIHsKLQkJ RFBVX0VSUk9SKCJpbnZhbGlkIGFyZ3VtZW50c1xuIik7Ci0JCXJldHVybjsKLQl9IGVsc2UgaWYg KCFwZHB1LT5waXBlX2h3LT5vcHMuc2V0dXBfY3JlcV9sdXQpIHsKLQkJcmV0dXJuOwotCX0KLQog CWlmICghcGRwdS0+aXNfcnRfcGlwZSkgewogCQlsdXRfdXNhZ2UgPSBEUFVfUU9TX0xVVF9VU0FH RV9OUlQ7CiAJfSBlbHNlIHsKQEAgLTI5MCwyNCArMjcwLDEwIEBAIHN0YXRpYyB2b2lkIF9kcHVf cGxhbmVfc2V0X3Fvc19sdXQoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiBzdGF0aWMgdm9pZCBf ZHB1X3BsYW5lX3NldF9kYW5nZXJfbHV0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQlzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYikKIHsKLQlzdHJ1Y3QgZHB1X3BsYW5lICpwZHB1OworCXN0 cnVjdCBkcHVfcGxhbmUgKnBkcHUgPSB0b19kcHVfcGxhbmUocGxhbmUpOwogCWNvbnN0IHN0cnVj dCBkcHVfZm9ybWF0ICpmbXQgPSBOVUxMOwogCXUzMiBkYW5nZXJfbHV0LCBzYWZlX2x1dDsKIAot CWlmICghcGxhbmUgfHwgIWZiKSB7Ci0JCURQVV9FUlJPUigiaW52YWxpZCBhcmd1bWVudHNcbiIp OwotCQlyZXR1cm47Ci0JfQotCi0JcGRwdSA9IHRvX2RwdV9wbGFuZShwbGFuZSk7Ci0KLQlpZiAo IXBkcHUtPnBpcGVfaHcgfHwgIXBkcHUtPnBpcGVfc2JsayB8fCAhcGRwdS0+Y2F0YWxvZykgewot CQlEUFVfRVJST1IoImludmFsaWQgYXJndW1lbnRzXG4iKTsKLQkJcmV0dXJuOwotCX0gZWxzZSBp ZiAoIXBkcHUtPnBpcGVfaHctPm9wcy5zZXR1cF9kYW5nZXJfc2FmZV9sdXQpIHsKLQkJcmV0dXJu OwotCX0KLQogCWlmICghcGRwdS0+aXNfcnRfcGlwZSkgewogCQlkYW5nZXJfbHV0ID0gcGRwdS0+ Y2F0YWxvZy0+cGVyZi5kYW5nZXJfbHV0X3RibAogCQkJCVtEUFVfUU9TX0xVVF9VU0FHRV9OUlRd OwpAQCAtMzYxLDIxICszMjcsNyBAQCBzdGF0aWMgdm9pZCBfZHB1X3BsYW5lX3NldF9kYW5nZXJf bHV0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogc3RhdGljIHZvaWQgX2RwdV9wbGFuZV9zZXRf cW9zX2N0cmwoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJYm9vbCBlbmFibGUsIHUzMiBmbGFn cykKIHsKLQlzdHJ1Y3QgZHB1X3BsYW5lICpwZHB1OwotCi0JaWYgKCFwbGFuZSkgewotCQlEUFVf RVJST1IoImludmFsaWQgYXJndW1lbnRzXG4iKTsKLQkJcmV0dXJuOwotCX0KLQotCXBkcHUgPSB0 b19kcHVfcGxhbmUocGxhbmUpOwotCi0JaWYgKCFwZHB1LT5waXBlX2h3IHx8ICFwZHB1LT5waXBl X3NibGspIHsKLQkJRFBVX0VSUk9SKCJpbnZhbGlkIGFyZ3VtZW50c1xuIik7Ci0JCXJldHVybjsK LQl9IGVsc2UgaWYgKCFwZHB1LT5waXBlX2h3LT5vcHMuc2V0dXBfcW9zX2N0cmwpIHsKLQkJcmV0 dXJuOwotCX0KKwlzdHJ1Y3QgZHB1X3BsYW5lICpwZHB1ID0gdG9fZHB1X3BsYW5lKHBsYW5lKTsK IAogCWlmIChmbGFncyAmIERQVV9QTEFORV9RT1NfVkJMQU5LX0NUUkwpIHsKIAkJcGRwdS0+cGlw ZV9xb3NfY2ZnLmNyZXFfdmJsYW5rID0gcGRwdS0+cGlwZV9zYmxrLT5jcmVxX3ZibGFuazsKQEAg LTQ1MCwyOSArNDAyLDEwIEBAIGludCBkcHVfcGxhbmVfZGFuZ2VyX3NpZ25hbF9jdHJsKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLCBib29sIGVuYWJsZSkKIHN0YXRpYyB2b2lkIF9kcHVfcGxhbmVf c2V0X290X2xpbWl0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQlzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCiB7Ci0Jc3RydWN0IGRwdV9wbGFuZSAqcGRwdTsKKwlzdHJ1Y3QgZHB1X3BsYW5lICpw ZHB1ID0gdG9fZHB1X3BsYW5lKHBsYW5lKTsKIAlzdHJ1Y3QgZHB1X3ZiaWZfc2V0X290X3BhcmFt cyBvdF9wYXJhbXM7Ci0Jc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdjsKLQlzdHJ1Y3QgZHB1 X2ttcyAqZHB1X2ttczsKLQotCWlmICghcGxhbmUgfHwgIXBsYW5lLT5kZXYgfHwgIWNydGMpIHsK LQkJRFBVX0VSUk9SKCJpbnZhbGlkIGFyZ3VtZW50cyBwbGFuZSAlZCBjcnRjICVkXG4iLAotCQkJ CXBsYW5lICE9IDAsIGNydGMgIT0gMCk7Ci0JCXJldHVybjsKLQl9Ci0KLQlwcml2ID0gcGxhbmUt PmRldi0+ZGV2X3ByaXZhdGU7Ci0JaWYgKCFwcml2IHx8ICFwcml2LT5rbXMpIHsKLQkJRFBVX0VS Uk9SKCJpbnZhbGlkIEtNUyByZWZlcmVuY2VcbiIpOwotCQlyZXR1cm47Ci0JfQotCi0JZHB1X2tt cyA9IHRvX2RwdV9rbXMocHJpdi0+a21zKTsKLQlwZHB1ID0gdG9fZHB1X3BsYW5lKHBsYW5lKTsK LQlpZiAoIXBkcHUtPnBpcGVfaHcpIHsKLQkJRFBVX0VSUk9SKCJpbnZhbGlkIHBpcGUgcmVmZXJl bmNlXG4iKTsKLQkJcmV0dXJuOwotCX0KKwlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2ID0g cGxhbmUtPmRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRwdV9rbXMgKmRwdV9rbXMgPSB0b19k cHVfa21zKHByaXYtPmttcyk7CiAKIAltZW1zZXQoJm90X3BhcmFtcywgMCwgc2l6ZW9mKG90X3Bh cmFtcykpOwogCW90X3BhcmFtcy54aW5faWQgPSBwZHB1LT5waXBlX2h3LT5jYXAtPnhpbl9pZDsK QEAgLTQ5NCwyOCArNDI3LDEwIEBAIHN0YXRpYyB2b2lkIF9kcHVfcGxhbmVfc2V0X290X2xpbWl0 KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogICovCiBzdGF0aWMgdm9pZCBfZHB1X3BsYW5lX3Nl dF9xb3NfcmVtYXAoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCiB7Ci0Jc3RydWN0IGRwdV9wbGFu ZSAqcGRwdTsKKwlzdHJ1Y3QgZHB1X3BsYW5lICpwZHB1ID0gdG9fZHB1X3BsYW5lKHBsYW5lKTsK IAlzdHJ1Y3QgZHB1X3ZiaWZfc2V0X3Fvc19wYXJhbXMgcW9zX3BhcmFtczsKLQlzdHJ1Y3QgbXNt X2RybV9wcml2YXRlICpwcml2OwotCXN0cnVjdCBkcHVfa21zICpkcHVfa21zOwotCi0JaWYgKCFw bGFuZSB8fCAhcGxhbmUtPmRldikgewotCQlEUFVfRVJST1IoImludmFsaWQgYXJndW1lbnRzXG4i KTsKLQkJcmV0dXJuOwotCX0KLQotCXByaXYgPSBwbGFuZS0+ZGV2LT5kZXZfcHJpdmF0ZTsKLQlp ZiAoIXByaXYgfHwgIXByaXYtPmttcykgewotCQlEUFVfRVJST1IoImludmFsaWQgS01TIHJlZmVy ZW5jZVxuIik7Ci0JCXJldHVybjsKLQl9Ci0KLQlkcHVfa21zID0gdG9fZHB1X2ttcyhwcml2LT5r bXMpOwotCXBkcHUgPSB0b19kcHVfcGxhbmUocGxhbmUpOwotCWlmICghcGRwdS0+cGlwZV9odykg ewotCQlEUFVfRVJST1IoImludmFsaWQgcGlwZSByZWZlcmVuY2VcbiIpOwotCQlyZXR1cm47Ci0J fQorCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXYgPSBwbGFuZS0+ZGV2LT5kZXZfcHJpdmF0 ZTsKKwlzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcyA9IHRvX2RwdV9rbXMocHJpdi0+a21zKTsKIAog CW1lbXNldCgmcW9zX3BhcmFtcywgMCwgc2l6ZW9mKHFvc19wYXJhbXMpKTsKIAlxb3NfcGFyYW1z LnZiaWZfaWR4ID0gVkJJRl9SVDsKQEAgLTU0OSwxMCArNDY0LDYgQEAgc3RhdGljIGludCBfZHB1 X3BsYW5lX2dldF9hc3BhY2UoCiAJfQogCiAJa21zID0gX2RwdV9wbGFuZV9nZXRfa21zKCZwZHB1 LT5iYXNlKTsKLQlpZiAoIWttcykgewotCQlEUFVfRVJST1IoImludmFsaWQga21zXG4iKTsKLQkJ cmV0dXJuIC1FSU5WQUw7Ci0JfQogCiAJKmFzcGFjZSA9IGttcy0+YmFzZS5hc3BhY2U7CiAKQEAg LTU3NiwxMCArNDg3LDYgQEAgc3RhdGljIGlubGluZSB2b2lkIF9kcHVfcGxhbmVfc2V0X3NjYW5v dXQoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJfQogCiAJcGRwdSA9IHRvX2RwdV9wbGFuZShw bGFuZSk7Ci0JaWYgKCFwZHB1LT5waXBlX2h3KSB7Ci0JCURQVV9FUlJPUl9QTEFORShwZHB1LCAi aW52YWxpZCBwaXBlX2h3XG4iKTsKLQkJcmV0dXJuOwotCX0KIAogCXJldCA9IF9kcHVfcGxhbmVf Z2V0X2FzcGFjZShwZHB1LCBwc3RhdGUsICZhc3BhY2UpOwogCWlmIChyZXQpIHsKQEAgLTYxMCwx NSArNTE3LDYgQEAgc3RhdGljIHZvaWQgX2RwdV9wbGFuZV9zZXR1cF9zY2FsZXIzKHN0cnVjdCBk cHVfcGxhbmUgKnBkcHUsCiB7CiAJdWludDMyX3QgaTsKIAotCWlmICghcGRwdSB8fCAhcHN0YXRl IHx8ICFzY2FsZV9jZmcgfHwgIWZtdCB8fCAhY2hyb21hX3N1YnNtcGxfaCB8fAotCQkJIWNocm9t YV9zdWJzbXBsX3YpIHsKLQkJRFBVX0VSUk9SKAotCQkJInBkcHUgJWQgcHN0YXRlICVkIHNjYWxl X2NmZyAlZCBmbXQgJWQgc21wX2ggJWQgc21wX3YgJWRcbiIsCi0JCQkhIXBkcHUsICEhcHN0YXRl LCAhIXNjYWxlX2NmZywgISFmbXQsIGNocm9tYV9zdWJzbXBsX2gsCi0JCQljaHJvbWFfc3Vic21w bF92KTsKLQkJcmV0dXJuOwotCX0KLQogCW1lbXNldChzY2FsZV9jZmcsIDAsIHNpemVvZigqc2Nh bGVfY2ZnKSk7CiAJbWVtc2V0KCZwc3RhdGUtPnBpeGVsX2V4dCwgMCwgc2l6ZW9mKHN0cnVjdCBk cHVfaHdfcGl4ZWxfZXh0KSk7CiAKQEAgLTcyMiwxNyArNjIwLDggQEAgc3RhdGljIHZvaWQgX2Rw dV9wbGFuZV9zZXR1cF9zY2FsZXIoc3RydWN0IGRwdV9wbGFuZSAqcGRwdSwKIAkJc3RydWN0IGRw dV9wbGFuZV9zdGF0ZSAqcHN0YXRlLAogCQljb25zdCBzdHJ1Y3QgZHB1X2Zvcm1hdCAqZm10LCBi b29sIGNvbG9yX2ZpbGwpCiB7Ci0Jc3RydWN0IGRwdV9od19waXhlbF9leHQgKnBlOwogCXVpbnQz Ml90IGNocm9tYV9zdWJzbXBsX2gsIGNocm9tYV9zdWJzbXBsX3Y7CiAKLQlpZiAoIXBkcHUgfHwg IWZtdCB8fCAhcHN0YXRlKSB7Ci0JCURQVV9FUlJPUigiaW52YWxpZCBhcmcocyksIHBsYW5lICVk IGZtdCAlZCBzdGF0ZSAlZFxuIiwKLQkJCQlwZHB1ICE9IDAsIGZtdCAhPSAwLCBwc3RhdGUgIT0g MCk7Ci0JCXJldHVybjsKLQl9Ci0KLQlwZSA9ICZwc3RhdGUtPnBpeGVsX2V4dDsKLQogCS8qIGRv bid0IGNocm9tYSBzdWJzYW1wbGUgaWYgZGVjaW1hdGluZyAqLwogCWNocm9tYV9zdWJzbXBsX2gg PQogCQlkcm1fZm9ybWF0X2hvcnpfY2hyb21hX3N1YnNhbXBsaW5nKGZtdC0+YmFzZS5waXhlbF9m b3JtYXQpOwpAQCAtNzYwLDIxICs2NDksOCBAQCBzdGF0aWMgaW50IF9kcHVfcGxhbmVfY29sb3Jf ZmlsbChzdHJ1Y3QgZHB1X3BsYW5lICpwZHB1LAogCQl1aW50MzJfdCBjb2xvciwgdWludDMyX3Qg YWxwaGEpCiB7CiAJY29uc3Qgc3RydWN0IGRwdV9mb3JtYXQgKmZtdDsKLQljb25zdCBzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZTsKLQlzdHJ1Y3QgZHB1X3BsYW5lX3N0YXRlICpwc3RhdGU7Ci0KLQlp ZiAoIXBkcHUgfHwgIXBkcHUtPmJhc2Uuc3RhdGUpIHsKLQkJRFBVX0VSUk9SKCJpbnZhbGlkIHBs YW5lXG4iKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0JaWYgKCFwZHB1LT5waXBlX2h3KSB7 Ci0JCURQVV9FUlJPUl9QTEFORShwZHB1LCAiaW52YWxpZCBwbGFuZSBoL3cgcG9pbnRlclxuIik7 Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQotCXBsYW5lID0gJnBkcHUtPmJhc2U7Ci0JcHN0YXRl ID0gdG9fZHB1X3BsYW5lX3N0YXRlKHBsYW5lLT5zdGF0ZSk7CisJY29uc3Qgc3RydWN0IGRybV9w bGFuZSAqcGxhbmUgPSAmcGRwdS0+YmFzZTsKKwlzdHJ1Y3QgZHB1X3BsYW5lX3N0YXRlICpwc3Rh dGUgPSB0b19kcHVfcGxhbmVfc3RhdGUocGxhbmUtPnN0YXRlKTsKIAogCURQVV9ERUJVR19QTEFO RShwZHB1LCAiXG4iKTsKIApAQCAtODI1LDEyICs3MDEsNyBAQCBzdGF0aWMgaW50IF9kcHVfcGxh bmVfY29sb3JfZmlsbChzdHJ1Y3QgZHB1X3BsYW5lICpwZHB1LAogCiB2b2lkIGRwdV9wbGFuZV9j bGVhcl9tdWx0aXJlY3QoY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqZHJtX3N0YXRlKQog ewotCXN0cnVjdCBkcHVfcGxhbmVfc3RhdGUgKnBzdGF0ZTsKLQotCWlmICghZHJtX3N0YXRlKQot CQlyZXR1cm47Ci0KLQlwc3RhdGUgPSB0b19kcHVfcGxhbmVfc3RhdGUoZHJtX3N0YXRlKTsKKwlz dHJ1Y3QgZHB1X3BsYW5lX3N0YXRlICpwc3RhdGUgPSB0b19kcHVfcGxhbmVfc3RhdGUoZHJtX3N0 YXRlKTsKIAogCXBzdGF0ZS0+bXVsdGlyZWN0X2luZGV4ID0gRFBVX1NTUFBfUkVDVF9TT0xPOwog CXBzdGF0ZS0+bXVsdGlyZWN0X21vZGUgPSBEUFVfU1NQUF9NVUxUSVJFQ1RfTk9ORTsKQEAgLTk2 MSwxNSArODMyLDYgQEAgaW50IGRwdV9wbGFuZV92YWxpZGF0ZV9tdWx0aXJlY3RfdjIoc3RydWN0 IGRwdV9tdWx0aXJlY3RfcGxhbmVfc3RhdGVzICpwbGFuZSkKIHZvaWQgZHB1X3BsYW5lX2dldF9j dGxfZmx1c2goc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcHVfaHdfY3RsICpjdGws CiAJCXUzMiAqZmx1c2hfc3NwcCkKIHsKLQlzdHJ1Y3QgZHB1X3BsYW5lX3N0YXRlICpwc3RhdGU7 Ci0KLQlpZiAoIXBsYW5lIHx8ICFmbHVzaF9zc3BwKSB7Ci0JCURQVV9FUlJPUigiaW52YWxpZCBw YXJhbWV0ZXJzXG4iKTsKLQkJcmV0dXJuOwotCX0KLQotCXBzdGF0ZSA9IHRvX2RwdV9wbGFuZV9z dGF0ZShwbGFuZS0+c3RhdGUpOwotCiAJKmZsdXNoX3NzcHAgPSBjdGwtPm9wcy5nZXRfYml0bWFz a19zc3BwKGN0bCwgZHB1X3BsYW5lX3BpcGUocGxhbmUpKTsKIH0KIApAQCAtMTM4OSw4ICsxMjUx LDcgQEAgc3RhdGljIHZvaWQgZHB1X3BsYW5lX2Rlc3Ryb3koc3RydWN0IGRybV9wbGFuZSAqcGxh bmUpCiAJCS8qIHRoaXMgd2lsbCBkZXN0cm95IHRoZSBzdGF0ZXMgYXMgd2VsbCAqLwogCQlkcm1f cGxhbmVfY2xlYW51cChwbGFuZSk7CiAKLQkJaWYgKHBkcHUtPnBpcGVfaHcpCi0JCQlkcHVfaHdf c3NwcF9kZXN0cm95KHBkcHUtPnBpcGVfaHcpOworCQlkcHVfaHdfc3NwcF9kZXN0cm95KHBkcHUt PnBpcGVfaHcpOwogCiAJCWtmcmVlKHBkcHUpOwogCX0KQEAgLTE3MzcsMjggKzE1OTgsMTEgQEAg c3RydWN0IGRybV9wbGFuZSAqZHB1X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK IAlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSA9IE5VTEwsICptYXN0ZXJfcGxhbmUgPSBOVUxMOwog CWNvbnN0IHN0cnVjdCBkcHVfZm9ybWF0X2V4dGVuZGVkICpmb3JtYXRfbGlzdDsKIAlzdHJ1Y3Qg ZHB1X3BsYW5lICpwZHB1OwotCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXY7Ci0Jc3RydWN0 IGRwdV9rbXMgKmttczsKKwlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKKwlzdHJ1Y3QgZHB1X2ttcyAqa21zID0gdG9fZHB1X2ttcyhwcml2LT5rbXMpOwog CWludCB6cG9zX21heCA9IERQVV9aUE9TX01BWDsKIAlpbnQgcmV0ID0gLUVJTlZBTDsKIAotCWlm ICghZGV2KSB7Ci0JCURQVV9FUlJPUigiWyV1XWRldmljZSBpcyBOVUxMXG4iLCBwaXBlKTsKLQkJ Z290byBleGl0OwotCX0KLQotCXByaXYgPSBkZXYtPmRldl9wcml2YXRlOwotCWlmICghcHJpdikg ewotCQlEUFVfRVJST1IoIlsldV1wcml2YXRlIGRhdGEgaXMgTlVMTFxuIiwgcGlwZSk7Ci0JCWdv dG8gZXhpdDsKLQl9Ci0KLQlpZiAoIXByaXYtPmttcykgewotCQlEUFVfRVJST1IoIlsldV1pbnZh bGlkIEtNUyByZWZlcmVuY2VcbiIsIHBpcGUpOwotCQlnb3RvIGV4aXQ7Ci0JfQotCWttcyA9IHRv X2RwdV9rbXMocHJpdi0+a21zKTsKLQogCWlmICgha21zLT5jYXRhbG9nKSB7CiAJCURQVV9FUlJP UigiWyV1XWludmFsaWQgY2F0YWxvZyByZWZlcmVuY2VcbiIsIHBpcGUpOwogCQlnb3RvIGV4aXQ7 Ci0tIAoyLjE5LjAuNDQ0LmcxODI0MmRhN2VmLWdvb2cKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5v QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=