From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruce Wang Subject: [PATCH v2 3/7] drm/msm/dpu: Remove unneeded checks in dpu_crtc.c Date: Thu, 20 Sep 2018 12:49:20 -0400 Message-ID: <20180920164924.225847-4-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 UmVtb3ZlcyBpbXBvc3NpYmxlIGNoZWNrcyBpbiBkcHVfY3J0Yy5jLgpWYXJpYWJsZSBhc3NpZ25t ZW50cyBhcmUgbW92ZWQgdXAgdG8gYmUgaW5pdGlhbGl6YXRpb25zIHdoZXJlCnBvc3NpYmxlLiBT b21lIHZhcmlhYmxlcyBhcmUgbm8gbG9uZ2VyIHVzZWQsIHRoZXNlIGFyZSByZW1vdmVkLgoKU2ln bmVkLW9mZi1ieTogQnJ1Y2UgV2FuZyA8Ynp3YW5nQGNocm9taXVtLm9yZz4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jIHwgMTcwICsrKy0tLS0tLS0tLS0tLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMTQ3IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCmluZGV4IGE4ZjJkZDdh MzdjNy4uYTlhZGIxNmVhYzZmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9j cnRjLmMKQEAgLTU1LDE5ICs1NSw4IEBAIHN0YXRpYyBpbmxpbmUgaW50IF9kcHVfY3J0Y19nZXRf bWl4ZXJfd2lkdGgoc3RydWN0IGRwdV9jcnRjX3N0YXRlICpjc3RhdGUsCiAKIHN0YXRpYyBpbmxp bmUgc3RydWN0IGRwdV9rbXMgKl9kcHVfY3J0Y19nZXRfa21zKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YykKIHsKLQlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2OwotCi0JaWYgKCFjcnRjIHx8ICFj cnRjLT5kZXYgfHwgIWNydGMtPmRldi0+ZGV2X3ByaXZhdGUpIHsKLQkJRFBVX0VSUk9SKCJpbnZh bGlkIGNydGNcbiIpOwotCQlyZXR1cm4gTlVMTDsKLQl9Ci0JcHJpdiA9IGNydGMtPmRldi0+ZGV2 X3ByaXZhdGU7Ci0JaWYgKCFwcml2IHx8ICFwcml2LT5rbXMpIHsKLQkJRFBVX0VSUk9SKCJpbnZh bGlkIGttc1xuIik7Ci0JCXJldHVybiBOVUxMOwotCX0KLQotCXJldHVybiB0b19kcHVfa21zKHBy aXYtPmttcyk7CisJcmV0dXJuIHRvX2RwdV9rbXMoKChzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICop IGNydGMtPmRldi0+ZGV2X3ByaXZhdGUpCisJCQktPmttcyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUg aW50IF9kcHVfY3J0Y19wb3dlcl9lbmFibGUoc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YywgYm9v bCBlbmFibGUpCkBAIC0xNzcsMjggKzE2NiwxNyBAQCBzdGF0aWMgdm9pZCBfZHB1X2NydGNfYmxl bmRfc2V0dXBfbWl4ZXIoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCXN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lOwogCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiOwogCXN0cnVjdCBkcm1fcGxhbmVf c3RhdGUgKnN0YXRlOwotCXN0cnVjdCBkcHVfY3J0Y19zdGF0ZSAqY3N0YXRlOworCXN0cnVjdCBk cHVfY3J0Y19zdGF0ZSAqY3N0YXRlID0gdG9fZHB1X2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwog CXN0cnVjdCBkcHVfcGxhbmVfc3RhdGUgKnBzdGF0ZSA9IE5VTEw7CiAJc3RydWN0IGRwdV9mb3Jt YXQgKmZvcm1hdDsKLQlzdHJ1Y3QgZHB1X2h3X2N0bCAqY3RsOwotCXN0cnVjdCBkcHVfaHdfbWl4 ZXIgKmxtOwotCXN0cnVjdCBkcHVfaHdfc3RhZ2VfY2ZnICpzdGFnZV9jZmc7CisJc3RydWN0IGRw dV9od19jdGwgKmN0bCA9IG1peGVyLT5sbV9jdGw7CisJc3RydWN0IGRwdV9od19zdGFnZV9jZmcg KnN0YWdlX2NmZyA9ICZkcHVfY3J0Yy0+c3RhZ2VfY2ZnOwogCiAJdTMyIGZsdXNoX21hc2s7CiAJ dWludDMyX3Qgc3RhZ2VfaWR4LCBsbV9pZHg7CiAJaW50IHpwb3NfY250W0RQVV9TVEFHRV9NQVgg KyAxXSA9IHsgMCB9OwogCWJvb2wgYmdfYWxwaGFfZW5hYmxlID0gZmFsc2U7CiAKLQlpZiAoIWRw dV9jcnRjIHx8ICFtaXhlcikgewotCQlEUFVfRVJST1IoImludmFsaWQgZHB1X2NydGMgb3IgbWl4 ZXJcbiIpOwotCQlyZXR1cm47Ci0JfQotCi0JY3RsID0gbWl4ZXItPmxtX2N0bDsKLQlsbSA9IG1p eGVyLT5od19sbTsKLQlzdGFnZV9jZmcgPSAmZHB1X2NydGMtPnN0YWdlX2NmZzsKLQljc3RhdGUg PSB0b19kcHVfY3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSk7Ci0KIAlkcm1fYXRvbWljX2NydGNfZm9y X2VhY2hfcGxhbmUocGxhbmUsIGNydGMpIHsKIAkJc3RhdGUgPSBwbGFuZS0+c3RhdGU7CiAJCWlm ICghc3RhdGUpCkBAIC0yMTcsMTAgKzE5NSw2IEBAIHN0YXRpYyB2b2lkIF9kcHVfY3J0Y19ibGVu ZF9zZXR1cF9taXhlcihzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCQkJc3RhdGUtPmZiID8gc3Rh dGUtPmZiLT5iYXNlLmlkIDogLTEpOwogCiAJCWZvcm1hdCA9IHRvX2RwdV9mb3JtYXQobXNtX2Zy YW1lYnVmZmVyX2Zvcm1hdChwc3RhdGUtPmJhc2UuZmIpKTsKLQkJaWYgKCFmb3JtYXQpIHsKLQkJ CURQVV9FUlJPUigiaW52YWxpZCBmb3JtYXRcbiIpOwotCQkJcmV0dXJuOwotCQl9CiAKIAkJaWYg KHBzdGF0ZS0+c3RhZ2UgPT0gRFBVX1NUQUdFX0JBU0UgJiYgZm9ybWF0LT5hbHBoYV9lbmFibGUp CiAJCQliZ19hbHBoYV9lbmFibGUgPSB0cnVlOwpAQCAtMjYxLDIxICsyMzUsMTMgQEAgc3RhdGlj IHZvaWQgX2RwdV9jcnRjX2JsZW5kX3NldHVwX21peGVyKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK ICAqLwogc3RhdGljIHZvaWQgX2RwdV9jcnRjX2JsZW5kX3NldHVwKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykKIHsKLQlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjOwotCXN0cnVjdCBkcHVfY3J0Y19z dGF0ZSAqY3N0YXRlOwotCXN0cnVjdCBkcHVfY3J0Y19taXhlciAqbWl4ZXI7CisJc3RydWN0IGRw dV9jcnRjICpkcHVfY3J0YyA9IHRvX2RwdV9jcnRjKGNydGMpOworCXN0cnVjdCBkcHVfY3J0Y19z dGF0ZSAqY3N0YXRlID0gdG9fZHB1X2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOworCXN0cnVjdCBk cHVfY3J0Y19taXhlciAqbWl4ZXIgPSBjc3RhdGUtPm1peGVyczsKIAlzdHJ1Y3QgZHB1X2h3X2N0 bCAqY3RsOwogCXN0cnVjdCBkcHVfaHdfbWl4ZXIgKmxtOwotCiAJaW50IGk7CiAKLQlpZiAoIWNy dGMpCi0JCXJldHVybjsKLQotCWRwdV9jcnRjID0gdG9fZHB1X2NydGMoY3J0Yyk7Ci0JY3N0YXRl ID0gdG9fZHB1X2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwotCW1peGVyID0gY3N0YXRlLT5taXhl cnM7Ci0KIAlEUFVfREVCVUcoIiVzXG4iLCBkcHVfY3J0Yy0+bmFtZSk7CiAKIAlmb3IgKGkgPSAw OyBpIDwgY3N0YXRlLT5udW1fbWl4ZXJzOyBpKyspIHsKQEAgLTM3NywzNCArMzQzLDEzIEBAIHN0 YXRpYyB2b2lkIGRwdV9jcnRjX3ZibGFua19jYih2b2lkICpkYXRhKQogCiBzdGF0aWMgdm9pZCBk cHVfY3J0Y19mcmFtZV9ldmVudF93b3JrKHN0cnVjdCBrdGhyZWFkX3dvcmsgKndvcmspCiB7Ci0J c3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdjsKLQlzdHJ1Y3QgZHB1X2NydGNfZnJhbWVfZXZl bnQgKmZldmVudDsKLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Ci0Jc3RydWN0IGRwdV9jcnRjICpk cHVfY3J0YzsKLQlzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttczsKKwlzdHJ1Y3QgZHB1X2NydGNfZnJh bWVfZXZlbnQgKmZldmVudCA9IGNvbnRhaW5lcl9vZih3b3JrLAorCQkJc3RydWN0IGRwdV9jcnRj X2ZyYW1lX2V2ZW50LCB3b3JrKTsKKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBmZXZlbnQtPmNy dGM7CisJc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YyA9IHRvX2RwdV9jcnRjKGNydGMpOwogCXVu c2lnbmVkIGxvbmcgZmxhZ3M7CiAJYm9vbCBmcmFtZV9kb25lID0gZmFsc2U7CiAKLQlpZiAoIXdv cmspIHsKLQkJRFBVX0VSUk9SKCJpbnZhbGlkIHdvcmsgaGFuZGxlXG4iKTsKLQkJcmV0dXJuOwot CX0KLQotCWZldmVudCA9IGNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgZHB1X2NydGNfZnJhbWVf ZXZlbnQsIHdvcmspOwotCWlmICghZmV2ZW50LT5jcnRjIHx8ICFmZXZlbnQtPmNydGMtPnN0YXRl KSB7Ci0JCURQVV9FUlJPUigiaW52YWxpZCBjcnRjXG4iKTsKLQkJcmV0dXJuOwotCX0KLQotCWNy dGMgPSBmZXZlbnQtPmNydGM7Ci0JZHB1X2NydGMgPSB0b19kcHVfY3J0YyhjcnRjKTsKLQotCWRw dV9rbXMgPSBfZHB1X2NydGNfZ2V0X2ttcyhjcnRjKTsKLQlpZiAoIWRwdV9rbXMpIHsKLQkJRFBV X0VSUk9SKCJpbnZhbGlkIGttcyBoYW5kbGVcbiIpOwotCQlyZXR1cm47Ci0JfQotCXByaXYgPSBk cHVfa21zLT5kZXYtPmRldl9wcml2YXRlOwogCURQVV9BVFJBQ0VfQkVHSU4oImNydGNfZnJhbWVf ZXZlbnQiKTsKIAogCURSTV9ERUJVR19LTVMoImNydGMlZCBldmVudDoldSB0czolbGxkXG4iLCBj cnRjLT5iYXNlLmlkLCBmZXZlbnQtPmV2ZW50LApAQCAtNDcwLDExICs0MTUsNiBAQCBzdGF0aWMg dm9pZCBkcHVfY3J0Y19mcmFtZV9ldmVudF9jYih2b2lkICpkYXRhLCB1MzIgZXZlbnQpCiAJdW5z aWduZWQgbG9uZyBmbGFnczsKIAl1MzIgY3J0Y19pZDsKIAotCWlmICghY3J0YyB8fCAhY3J0Yy0+ ZGV2IHx8ICFjcnRjLT5kZXYtPmRldl9wcml2YXRlKSB7Ci0JCURQVV9FUlJPUigiaW52YWxpZCBw YXJhbWV0ZXJzXG4iKTsKLQkJcmV0dXJuOwotCX0KLQogCS8qIE5vdGhpbmcgdG8gZG8gb24gaWRs ZSBldmVudCAqLwogCWlmIChldmVudCAmIERQVV9FTkNPREVSX0ZSQU1FX0VWRU5UX0lETEUpCiAJ CXJldHVybjsKQEAgLTU4MywyMyArNTIzLDEyIEBAIHN0YXRpYyB2b2lkIF9kcHVfY3J0Y19zZXR1 cF9taXhlcnMoc3RydWN0IGRybV9jcnRjICpjcnRjKQogc3RhdGljIHZvaWQgX2RwdV9jcnRjX3Nl dHVwX2xtX2JvdW5kcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCXN0cnVjdCBkcm1fY3J0Y19z dGF0ZSAqc3RhdGUpCiB7Ci0Jc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YzsKLQlzdHJ1Y3QgZHB1 X2NydGNfc3RhdGUgKmNzdGF0ZTsKLQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqX21vZGU7 Ci0JdTMyIGNydGNfc3BsaXRfd2lkdGg7CisJc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YyA9IHRv X2RwdV9jcnRjKGNydGMpOworCXN0cnVjdCBkcHVfY3J0Y19zdGF0ZSAqY3N0YXRlID0gdG9fZHB1 X2NydGNfc3RhdGUoc3RhdGUpOworCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGpfbW9kZSA9 ICZzdGF0ZS0+YWRqdXN0ZWRfbW9kZTsKKwl1MzIgY3J0Y19zcGxpdF93aWR0aCA9IF9kcHVfY3J0 Y19nZXRfbWl4ZXJfd2lkdGgoY3N0YXRlLCBhZGpfbW9kZSk7CiAJaW50IGk7CiAKLQlpZiAoIWNy dGMgfHwgIXN0YXRlKSB7Ci0JCURQVV9FUlJPUigiaW52YWxpZCBhcmdzXG4iKTsKLQkJcmV0dXJu OwotCX0KLQotCWRwdV9jcnRjID0gdG9fZHB1X2NydGMoY3J0Yyk7Ci0JY3N0YXRlID0gdG9fZHB1 X2NydGNfc3RhdGUoc3RhdGUpOwotCi0JYWRqX21vZGUgPSAmc3RhdGUtPmFkanVzdGVkX21vZGU7 Ci0JY3J0Y19zcGxpdF93aWR0aCA9IF9kcHVfY3J0Y19nZXRfbWl4ZXJfd2lkdGgoY3N0YXRlLCBh ZGpfbW9kZSk7Ci0KIAlmb3IgKGkgPSAwOyBpIDwgY3N0YXRlLT5udW1fbWl4ZXJzOyBpKyspIHsK IAkJc3RydWN0IGRybV9yZWN0ICpyID0gJmNzdGF0ZS0+bG1fYm91bmRzW2ldOwogCQlyLT54MSA9 IGNydGNfc3BsaXRfd2lkdGggKiBpOwpAQCAtNjkzLDExICs2MjIsNiBAQCBzdGF0aWMgdm9pZCBk cHVfY3J0Y19hdG9taWNfZmx1c2goc3RydWN0IGRybV9jcnRjICpjcnRjLAogCXVuc2lnbmVkIGxv bmcgZmxhZ3M7CiAJc3RydWN0IGRwdV9jcnRjX3N0YXRlICpjc3RhdGU7CiAKLQlpZiAoIWNydGMg fHwgIWNydGMtPmRldiB8fCAhY3J0Yy0+ZGV2LT5kZXZfcHJpdmF0ZSkgewotCQlEUFVfRVJST1Io ImludmFsaWQgY3J0Y1xuIik7Ci0JCXJldHVybjsKLQl9Ci0KIAlpZiAoIWNydGMtPnN0YXRlLT5l bmFibGUpIHsKIAkJRFBVX0RFQlVHKCJjcnRjJWQgLT4gZW5hYmxlICVkLCBza2lwIGF0b21pY19m bHVzaFxuIiwKIAkJCQljcnRjLT5iYXNlLmlkLCBjcnRjLT5zdGF0ZS0+ZW5hYmxlKTsKQEAgLTc5 MCwxNSArNzE0LDkgQEAgc3RhdGljIHZvaWQgZHB1X2NydGNfZGVzdHJveV9zdGF0ZShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCiAKIHN0YXRpYyBpbnQgX2RwdV9jcnRjX3dhaXRfZm9yX2ZyYW1lX2Rv bmUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogewotCXN0cnVjdCBkcHVfY3J0YyAqZHB1X2NydGM7 CisJc3RydWN0IGRwdV9jcnRjICpkcHVfY3J0YyA9IHRvX2RwdV9jcnRjKGNydGMpOwogCWludCBy ZXQsIHJjID0gMDsKIAotCWlmICghY3J0YykgewotCQlEUFVfRVJST1IoImludmFsaWQgYXJndW1l bnRcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0JZHB1X2NydGMgPSB0b19kcHVfY3J0Yyhj cnRjKTsKLQogCWlmICghYXRvbWljX3JlYWQoJmRwdV9jcnRjLT5mcmFtZV9wZW5kaW5nKSkgewog CQlEUFVfREVCVUcoIm5vIGZyYW1lcyBwZW5kaW5nXG4iKTsKIAkJcmV0dXJuIDA7CkBAIC04MTks MjkgKzczNywxMiBAQCBzdGF0aWMgaW50IF9kcHVfY3J0Y193YWl0X2Zvcl9mcmFtZV9kb25lKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKIHZvaWQgZHB1X2NydGNfY29tbWl0X2tpY2tvZmYoc3RydWN0 IGRybV9jcnRjICpjcnRjKQogewogCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKLQlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2OwotCXN0cnVjdCBkcHVfY3J0YyAqZHB1X2NydGM7Ci0Jc3RydWN0 IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdjsKLQlzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttczsKLQlzdHJ1 Y3QgZHB1X2NydGNfc3RhdGUgKmNzdGF0ZTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0 Yy0+ZGV2OworCXN0cnVjdCBkcHVfY3J0YyAqZHB1X2NydGMgPSB0b19kcHVfY3J0YyhjcnRjKTsK KwlzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcyA9IF9kcHVfY3J0Y19nZXRfa21zKGNydGMpOworCXN0 cnVjdCBkcHVfY3J0Y19zdGF0ZSAqY3N0YXRlID0gdG9fZHB1X2NydGNfc3RhdGUoY3J0Yy0+c3Rh dGUpOwogCWludCByZXQ7CiAKLQlpZiAoIWNydGMpIHsKLQkJRFBVX0VSUk9SKCJpbnZhbGlkIGFy Z3VtZW50XG4iKTsKLQkJcmV0dXJuOwotCX0KLQlkZXYgPSBjcnRjLT5kZXY7Ci0JZHB1X2NydGMg PSB0b19kcHVfY3J0YyhjcnRjKTsKLQlkcHVfa21zID0gX2RwdV9jcnRjX2dldF9rbXMoY3J0Yyk7 Ci0KLQlpZiAoIWRwdV9rbXMgfHwgIWRwdV9rbXMtPmRldiB8fCAhZHB1X2ttcy0+ZGV2LT5kZXZf cHJpdmF0ZSkgewotCQlEUFVfRVJST1IoImludmFsaWQgYXJndW1lbnRcbiIpOwotCQlyZXR1cm47 Ci0JfQotCi0JcHJpdiA9IGRwdV9rbXMtPmRldi0+ZGV2X3ByaXZhdGU7Ci0JY3N0YXRlID0gdG9f ZHB1X2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwotCiAJLyoKIAkgKiBJZiBubyBtaXhlcnMgaGFz IGJlZW4gYWxsb2NhdGVkIGluIGRwdV9jcnRjX2F0b21pY19jaGVjaygpLAogCSAqIGl0IG1lYW5z IHdlIGFyZSB0cnlpbmcgdG8gc3RhcnQgYSBDUlRDIHdob3NlIHN0YXRlIGlzIGRpc2FibGVkOgpA QCAtOTY5LDI0ICs4NzAsOSBAQCBzdGF0aWMgaW50IF9kcHVfY3J0Y192YmxhbmtfZW5hYmxlX25v X2xvY2soCiAgKi8KIHN0YXRpYyB2b2lkIF9kcHVfY3J0Y19zZXRfc3VzcGVuZChzdHJ1Y3QgZHJt X2NydGMgKmNydGMsIGJvb2wgZW5hYmxlKQogewotCXN0cnVjdCBkcHVfY3J0YyAqZHB1X2NydGM7 Ci0Jc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdjsKLQlzdHJ1Y3QgZHB1X2ttcyAqZHB1X2tt czsKKwlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjID0gdG9fZHB1X2NydGMoY3J0Yyk7CiAJaW50 IHJldCA9IDA7CiAKLQlpZiAoIWNydGMgfHwgIWNydGMtPmRldiB8fCAhY3J0Yy0+ZGV2LT5kZXZf cHJpdmF0ZSkgewotCQlEUFVfRVJST1IoImludmFsaWQgY3J0Y1xuIik7Ci0JCXJldHVybjsKLQl9 Ci0JZHB1X2NydGMgPSB0b19kcHVfY3J0YyhjcnRjKTsKLQlwcml2ID0gY3J0Yy0+ZGV2LT5kZXZf cHJpdmF0ZTsKLQotCWlmICghcHJpdi0+a21zKSB7Ci0JCURQVV9FUlJPUigiaW52YWxpZCBjcnRj IGttc1xuIik7Ci0JCXJldHVybjsKLQl9Ci0JZHB1X2ttcyA9IHRvX2RwdV9rbXMocHJpdi0+a21z KTsKLQogCURSTV9ERUJVR19LTVMoImNydGMlZCBzdXNwZW5kID0gJWRcbiIsIGNydGMtPmJhc2Uu aWQsIGVuYWJsZSk7CiAKIAltdXRleF9sb2NrKCZkcHVfY3J0Yy0+Y3J0Y19sb2NrKTsKQEAgLTEw NzksMTYgKzk2NSw4IEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKIHN0YXRpYyB2b2lkIGRwdV9jcnRjX2hhbmRsZV9wb3dlcl9ldmVudCh1MzIgZXZl bnRfdHlwZSwgdm9pZCAqYXJnKQogewogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGFyZzsKLQlz dHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjOworCXN0cnVjdCBkcHVfY3J0YyAqZHB1X2NydGMgPSB0 b19kcHVfY3J0YyhjcnRjKTsKIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXI7Ci0Jc3RydWN0 IGRwdV9jcnRjX3N0YXRlICpjc3RhdGU7Ci0KLQlpZiAoIWNydGMpIHsKLQkJRFBVX0VSUk9SKCJp bnZhbGlkIGNydGNcbiIpOwotCQlyZXR1cm47Ci0JfQotCWRwdV9jcnRjID0gdG9fZHB1X2NydGMo Y3J0Yyk7Ci0JY3N0YXRlID0gdG9fZHB1X2NydGNfc3RhdGUoZHB1X2NydGMtPmJhc2Uuc3RhdGUp OwogCiAJbXV0ZXhfbG9jaygmZHB1X2NydGMtPmNydGNfbG9jayk7CiAKQEAgLTE2NzMsOCArMTU1 MSw2IEBAIHN0YXRpYyBpbnQgX2RwdV9jcnRjX2luaXRfZGVidWdmcyhzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCiAJZHB1X2NydGMgPSB0b19kcHVfY3J0YyhjcnRjKTsKIAogCWRwdV9rbXMgPSBfZHB1 X2NydGNfZ2V0X2ttcyhjcnRjKTsKLQlpZiAoIWRwdV9rbXMpCi0JCXJldHVybiAtRUlOVkFMOwog CiAJZHB1X2NydGMtPmRlYnVnZnNfcm9vdCA9IGRlYnVnZnNfY3JlYXRlX2RpcihkcHVfY3J0Yy0+ bmFtZSwKIAkJCWNydGMtPmRldi0+cHJpbWFyeS0+ZGVidWdmc19yb290KTsKLS0gCjIuMTkuMC40 NDQuZzE4MjQyZGE3ZWYtZ29vZwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZnJlZWRyZW5vCg==