From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v4 19/41] drm/i915: wrapping all hdcp var into intel_hdcp Date: Mon, 21 May 2018 18:23:38 +0530 Message-ID: <1526907240-17639-20-git-send-email-ramalingam.c@intel.com> References: <1526907240-17639-1-git-send-email-ramalingam.c@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1526907240-17639-1-git-send-email-ramalingam.c@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: alexander.usyskin@intel.com, uma.shankar@intel.com, tomas.winkler@intel.com List-Id: dri-devel@lists.freedesktop.org Q29uc2lkZXJpbmcgc2lnbmlmaWNhbnQgbnVtYmVyIG9mIEhEQ1Agc3BlY2lmaWMgdmFyaWFibGVz LCBpdCB3aWxsCmJlIGNsZWFuIHRvIGhhdmUgc2VwYXJhdGUgc3RydWN0IGZvciBIRENQLgoKTmV3 IHN0cnVjdHVyZSBjYWxsZWQgaW50ZWxfaGRjcCBpcyBhZGRlZCB3aXRoaW4gaW50ZWxfY29ubmVj dG9yLgoKdjI6CiAgc3RydWN0IGhkY3Agc3RhdGljYWxseSBhbGxvY2F0ZWQuIFtTZWFuIFBhdWxd CiAgZW5hYmxlIGFuZCBkaXNhYmxlIGZ1bmN0aW9uIHBhcmFtZXRlcnMgYXJlIHJldGFpbmVkLltT ZWFuIFBhdWxdCnYzOgogIE5vIENoYW5nZXMuCnY0OgogIENvbW1pdCBtc2cgaXMgcmVwaHJhc2Vk IFtVbWFdCgpTaWduZWQtb2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0uY0BpbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgIDcgKy0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAxNCArKysrLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYyAgICB8IDk0ICsrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspLCA0OSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggMDllOTZkNTQ3 YzAxLi4xZGE1ZDAxMjZlYmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAg LTE1NDk5LDkgKzE1NDk5LDEwIEBAIHN0YXRpYyB2b2lkIGludGVsX2hwZF9wb2xsX2Zpbmkoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKIAlmb3JfZWFjaF9pbnRlbF9jb25uZWN0b3JfaXRlcihjb25u ZWN0b3IsICZjb25uX2l0ZXIpIHsKIAkJaWYgKGNvbm5lY3Rvci0+bW9kZXNldF9yZXRyeV93b3Jr LmZ1bmMpCiAJCQljYW5jZWxfd29ya19zeW5jKCZjb25uZWN0b3ItPm1vZGVzZXRfcmV0cnlfd29y ayk7Ci0JCWlmIChjb25uZWN0b3ItPmhkY3Bfc2hpbSkgewotCQkJY2FuY2VsX2RlbGF5ZWRfd29y a19zeW5jKCZjb25uZWN0b3ItPmhkY3BfY2hlY2tfd29yayk7Ci0JCQljYW5jZWxfd29ya19zeW5j KCZjb25uZWN0b3ItPmhkY3BfcHJvcF93b3JrKTsKKwkJaWYgKGNvbm5lY3Rvci0+aGRjcC5oZGNw X3NoaW0pIHsKKwkJCWNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygKKwkJCQkJJmNvbm5lY3Rvci0+ aGRjcC5oZGNwX2NoZWNrX3dvcmspOworCQkJY2FuY2VsX3dvcmtfc3luYygmY29ubmVjdG9yLT5o ZGNwLmhkY3BfcHJvcF93b3JrKTsKIAkJfQogCX0KIAlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9l bmQoJmNvbm5faXRlcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDhiMjA4MjRlODA2 ZS4uZGYzYTQzZTZiNGQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMzc3LDYgKzM3 NywxNCBAQCBzdHJ1Y3QgaW50ZWxfaGRjcF9zaGltIHsKIAkJCSAgICBib29sICpoZGNwX2NhcGFi bGUpOwogfTsKIAorc3RydWN0IGludGVsX2hkY3AgeworCWNvbnN0IHN0cnVjdCBpbnRlbF9oZGNw X3NoaW0gKmhkY3Bfc2hpbTsKKwlzdHJ1Y3QgbXV0ZXggaGRjcF9tdXRleDsKKwl1aW50NjRfdCBo ZGNwX3ZhbHVlOyAvKiBwcm90ZWN0ZWQgYnkgaGRjcF9tdXRleCAqLworCXN0cnVjdCBkZWxheWVk X3dvcmsgaGRjcF9jaGVja193b3JrOworCXN0cnVjdCB3b3JrX3N0cnVjdCBoZGNwX3Byb3Bfd29y azsKK307CisKIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgewogCXN0cnVjdCBkcm1fY29ubmVjdG9y IGJhc2U7CiAJLyoKQEAgLTQwOSwxMSArNDE3LDcgQEAgc3RydWN0IGludGVsX2Nvbm5lY3RvciB7 CiAJLyogV29yayBzdHJ1Y3QgdG8gc2NoZWR1bGUgYSB1ZXZlbnQgb24gbGluayB0cmFpbiBmYWls dXJlICovCiAJc3RydWN0IHdvcmtfc3RydWN0IG1vZGVzZXRfcmV0cnlfd29yazsKIAotCWNvbnN0 IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0gKmhkY3Bfc2hpbTsKLQlzdHJ1Y3QgbXV0ZXggaGRjcF9t dXRleDsKLQl1aW50NjRfdCBoZGNwX3ZhbHVlOyAvKiBwcm90ZWN0ZWQgYnkgaGRjcF9tdXRleCAq LwotCXN0cnVjdCBkZWxheWVkX3dvcmsgaGRjcF9jaGVja193b3JrOwotCXN0cnVjdCB3b3JrX3N0 cnVjdCBoZGNwX3Byb3Bfd29yazsKKwlzdHJ1Y3QgaW50ZWxfaGRjcCBoZGNwOwogfTsKIAogc3Ry dWN0IGludGVsX2RpZ2l0YWxfY29ubmVjdG9yX3N0YXRlIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hk Y3AuYwppbmRleCAyZGI1ZGE1NTBhMWMuLmM3ZDBmYTMxOWMwMSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2hkY3AuYwpAQCAtNjI2LDYgKzYyNiw3IEBAIHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmNvbm5fdG9fZGlnX3BvcnQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCiBz dGF0aWMgaW50IF9pbnRlbF9oZGNwX2Rpc2FibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29u bmVjdG9yKQogeworCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsK IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2 LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9y dCA9IGNvbm5fdG9fZGlnX3BvcnQoY29ubmVjdG9yKTsKIAllbnVtIHBvcnQgcG9ydCA9IGludGVs X2RpZ19wb3J0LT5iYXNlLnBvcnQ7CkBAIC02NDEsNyArNjQyLDcgQEAgc3RhdGljIGludCBfaW50 ZWxfaGRjcF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAkJcmV0 dXJuIC1FVElNRURPVVQ7CiAJfQogCi0JcmV0ID0gY29ubmVjdG9yLT5oZGNwX3NoaW0tPnRvZ2ds ZV9zaWduYWxsaW5nKGludGVsX2RpZ19wb3J0LCBmYWxzZSk7CisJcmV0ID0gaGRjcC0+aGRjcF9z aGltLT50b2dnbGVfc2lnbmFsbGluZyhpbnRlbF9kaWdfcG9ydCwgZmFsc2UpOwogCWlmIChyZXQp IHsKIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gZGlzYWJsZSBIRENQIHNpZ25hbGxpbmdcbiIpOwog CQlyZXR1cm4gcmV0OwpAQCAtNjUzLDYgKzY1NCw3IEBAIHN0YXRpYyBpbnQgX2ludGVsX2hkY3Bf ZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAKIHN0YXRpYyBpbnQg X2ludGVsX2hkY3BfZW5hYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsK KwlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9ICZjb25uZWN0b3ItPmhkY3A7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gY29ubmVjdG9yLT5iYXNlLmRldi0+ZGV2X3ByaXZh dGU7CiAJaW50IGksIHJldCwgdHJpZXMgPSAzOwogCkBAIC02NzgsNyArNjgwLDcgQEAgc3RhdGlj IGludCBfaW50ZWxfaGRjcF9lbmFibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y KQogCS8qIEluY2FzZSBvZiBhdXRoZW50aWNhdGlvbiBmYWlsdXJlcywgSERDUCBzcGVjIGV4cGVj dHMgcmVhdXRoLiAqLwogCWZvciAoaSA9IDA7IGkgPCB0cmllczsgaSsrKSB7CiAJCXJldCA9IGlu dGVsX2hkY3BfYXV0aChjb25uX3RvX2RpZ19wb3J0KGNvbm5lY3RvciksCi0JCQkJICAgICAgY29u bmVjdG9yLT5oZGNwX3NoaW0pOworCQkJCSAgICAgIGhkY3AtPmhkY3Bfc2hpbSk7CiAJCWlmICgh cmV0KQogCQkJcmV0dXJuIDA7CiAKQEAgLTY5NCwzNiArNjk2LDQyIEBAIHN0YXRpYyBpbnQgX2lu dGVsX2hkY3BfZW5hYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAogc3Rh dGljIHZvaWQgaW50ZWxfaGRjcF9jaGVja193b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykK IHsKLQlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IgPSBjb250YWluZXJfb2YodG9f ZGVsYXllZF93b3JrKHdvcmspLAorCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gY29udGFpbmVy X29mKHRvX2RlbGF5ZWRfd29yayh3b3JrKSwKKwkJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9oZGNw LAorCQkJCQkgICAgICAgaGRjcF9jaGVja193b3JrKTsKKwlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9y ICpjb25uZWN0b3IgPSBjb250YWluZXJfb2YoaGRjcCwKIAkJCQkJCQkgc3RydWN0IGludGVsX2Nv bm5lY3RvciwKLQkJCQkJCQkgaGRjcF9jaGVja193b3JrKTsKKwkJCQkJCQkgaGRjcCk7CisKIAlp ZiAoIWludGVsX2hkY3BfY2hlY2tfbGluayhjb25uZWN0b3IpKQotCQlzY2hlZHVsZV9kZWxheWVk X3dvcmsoJmNvbm5lY3Rvci0+aGRjcF9jaGVja193b3JrLAorCQlzY2hlZHVsZV9kZWxheWVkX3dv cmsoJmhkY3AtPmhkY3BfY2hlY2tfd29yaywKIAkJCQkgICAgICBEUk1fSERDUF9DSEVDS19QRVJJ T0RfTVMpOwogfQogCiBzdGF0aWMgdm9pZCBpbnRlbF9oZGNwX3Byb3Bfd29yayhzdHJ1Y3Qgd29y a19zdHJ1Y3QgKndvcmspCiB7Ci0Jc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yID0g Y29udGFpbmVyX29mKHdvcmssCisJc3RydWN0IGludGVsX2hkY3AgKmhkY3AgPSBjb250YWluZXJf b2Yod29yaywgc3RydWN0IGludGVsX2hkY3AsCisJCQkJCSAgICAgICBoZGNwX3Byb3Bfd29yayk7 CisJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gY29udGFpbmVyX29mKGhkY3As CiAJCQkJCQkJIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IsCi0JCQkJCQkJIGhkY3BfcHJvcF93b3Jr KTsKKwkJCQkJCQkgaGRjcCk7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ YmFzZS5kZXY7CiAJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKnN0YXRlOwogCiAJZHJtX21v ZGVzZXRfbG9jaygmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0aW9uX211dGV4LCBOVUxMKTsKLQlt dXRleF9sb2NrKCZjb25uZWN0b3ItPmhkY3BfbXV0ZXgpOworCW11dGV4X2xvY2soJmhkY3AtPmhk Y3BfbXV0ZXgpOwogCiAJLyoKIAkgKiBUaGlzIHdvcmtlciBpcyBvbmx5IHVzZWQgdG8gZmxpcCBi ZXR3ZWVuIEVOQUJMRUQvREVTSVJFRC4gRWl0aGVyIG9mCiAJICogdGhvc2UgdG8gVU5ERVNJUkVE IGlzIGhhbmRsZWQgYnkgY29yZS4gSWYgaGRjcF92YWx1ZSA9PSBVTkRFU0lSRUQsCiAJICogd2Un cmUgcnVubmluZyBqdXN0IGFmdGVyIGhkY3AgaGFzIGJlZW4gZGlzYWJsZWQsIHNvIGp1c3QgZXhp dAogCSAqLwotCWlmIChjb25uZWN0b3ItPmhkY3BfdmFsdWUgIT0gRFJNX01PREVfQ09OVEVOVF9Q Uk9URUNUSU9OX1VOREVTSVJFRCkgeworCWlmIChoZGNwLT5oZGNwX3ZhbHVlICE9IERSTV9NT0RF X0NPTlRFTlRfUFJPVEVDVElPTl9VTkRFU0lSRUQpIHsKIAkJc3RhdGUgPSBjb25uZWN0b3ItPmJh c2Uuc3RhdGU7Ci0JCXN0YXRlLT5jb250ZW50X3Byb3RlY3Rpb24gPSBjb25uZWN0b3ItPmhkY3Bf dmFsdWU7CisJCXN0YXRlLT5jb250ZW50X3Byb3RlY3Rpb24gPSBoZGNwLT5oZGNwX3ZhbHVlOwog CX0KIAotCW11dGV4X3VubG9jaygmY29ubmVjdG9yLT5oZGNwX211dGV4KTsKKwltdXRleF91bmxv Y2soJmhkY3AtPmhkY3BfbXV0ZXgpOwogCWRybV9tb2Rlc2V0X3VubG9jaygmZGV2LT5tb2RlX2Nv bmZpZy5jb25uZWN0aW9uX211dGV4KTsKIH0KIApAQCAtNzM3LDYgKzc0NSw3IEBAIGJvb2wgaXNf aGRjcF9zdXBwb3J0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBv cnQgcG9ydCkKIGludCBpbnRlbF9oZGNwX2luaXQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29u bmVjdG9yLAogCQkgICAgY29uc3Qgc3RydWN0IGludGVsX2hkY3Bfc2hpbSAqaGRjcF9zaGltKQog eworCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsKIAlpbnQgcmV0 OwogCiAJcmV0ID0gZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVudF9wcm90ZWN0aW9uX3Byb3Bl cnR5KApAQCAtNzQ0LDUxICs3NTMsNTMgQEAgaW50IGludGVsX2hkY3BfaW5pdChzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotCWNv bm5lY3Rvci0+aGRjcF9zaGltID0gaGRjcF9zaGltOwotCW11dGV4X2luaXQoJmNvbm5lY3Rvci0+ aGRjcF9tdXRleCk7Ci0JSU5JVF9ERUxBWUVEX1dPUksoJmNvbm5lY3Rvci0+aGRjcF9jaGVja193 b3JrLCBpbnRlbF9oZGNwX2NoZWNrX3dvcmspOwotCUlOSVRfV09SSygmY29ubmVjdG9yLT5oZGNw X3Byb3Bfd29yaywgaW50ZWxfaGRjcF9wcm9wX3dvcmspOworCWhkY3AtPmhkY3Bfc2hpbSA9IGhk Y3Bfc2hpbTsKKwltdXRleF9pbml0KCZoZGNwLT5oZGNwX211dGV4KTsKKwlJTklUX0RFTEFZRURf V09SSygmaGRjcC0+aGRjcF9jaGVja193b3JrLCBpbnRlbF9oZGNwX2NoZWNrX3dvcmspOworCUlO SVRfV09SSygmaGRjcC0+aGRjcF9wcm9wX3dvcmssIGludGVsX2hkY3BfcHJvcF93b3JrKTsKIAly ZXR1cm4gMDsKIH0KIAogaW50IGludGVsX2hkY3BfZW5hYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0 b3IgKmNvbm5lY3RvcikKIHsKKwlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9ICZjb25uZWN0b3It PmhkY3A7CiAJaW50IHJldDsKIAotCWlmICghY29ubmVjdG9yLT5oZGNwX3NoaW0pCisJaWYgKCFo ZGNwLT5oZGNwX3NoaW0pCiAJCXJldHVybiAtRU5PRU5UOwogCi0JbXV0ZXhfbG9jaygmY29ubmVj dG9yLT5oZGNwX211dGV4KTsKKwltdXRleF9sb2NrKCZoZGNwLT5oZGNwX211dGV4KTsKIAogCXJl dCA9IF9pbnRlbF9oZGNwX2VuYWJsZShjb25uZWN0b3IpOwogCWlmIChyZXQpCiAJCWdvdG8gb3V0 OwogCi0JY29ubmVjdG9yLT5oZGNwX3ZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9O X0VOQUJMRUQ7Ci0Jc2NoZWR1bGVfd29yaygmY29ubmVjdG9yLT5oZGNwX3Byb3Bfd29yayk7Ci0J c2NoZWR1bGVfZGVsYXllZF93b3JrKCZjb25uZWN0b3ItPmhkY3BfY2hlY2tfd29yaywKKwloZGNw LT5oZGNwX3ZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0VOQUJMRUQ7CisJc2No ZWR1bGVfd29yaygmaGRjcC0+aGRjcF9wcm9wX3dvcmspOworCXNjaGVkdWxlX2RlbGF5ZWRfd29y aygmaGRjcC0+aGRjcF9jaGVja193b3JrLAogCQkJICAgICAgRFJNX0hEQ1BfQ0hFQ0tfUEVSSU9E X01TKTsKIG91dDoKLQltdXRleF91bmxvY2soJmNvbm5lY3Rvci0+aGRjcF9tdXRleCk7CisJbXV0 ZXhfdW5sb2NrKCZoZGNwLT5oZGNwX211dGV4KTsKIAlyZXR1cm4gcmV0OwogfQogCiBpbnQgaW50 ZWxfaGRjcF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKKwlz dHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9ICZjb25uZWN0b3ItPmhkY3A7CiAJaW50IHJldCA9IDA7 CiAKLQlpZiAoIWNvbm5lY3Rvci0+aGRjcF9zaGltKQorCWlmICghaGRjcC0+aGRjcF9zaGltKQog CQlyZXR1cm4gLUVOT0VOVDsKIAotCW11dGV4X2xvY2soJmNvbm5lY3Rvci0+aGRjcF9tdXRleCk7 CisJbXV0ZXhfbG9jaygmaGRjcC0+aGRjcF9tdXRleCk7CiAKLQlpZiAoY29ubmVjdG9yLT5oZGNw X3ZhbHVlICE9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9VTkRFU0lSRUQpIHsKLQkJY29u bmVjdG9yLT5oZGNwX3ZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX1VOREVTSVJF RDsKKwlpZiAoaGRjcC0+aGRjcF92YWx1ZSAhPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05f VU5ERVNJUkVEKSB7CisJCWhkY3AtPmhkY3BfdmFsdWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RF Q1RJT05fVU5ERVNJUkVEOwogCQlyZXQgPSBfaW50ZWxfaGRjcF9kaXNhYmxlKGNvbm5lY3Rvcik7 CiAJfQogCi0JbXV0ZXhfdW5sb2NrKCZjb25uZWN0b3ItPmhkY3BfbXV0ZXgpOwotCWNhbmNlbF9k ZWxheWVkX3dvcmtfc3luYygmY29ubmVjdG9yLT5oZGNwX2NoZWNrX3dvcmspOworCW11dGV4X3Vu bG9jaygmaGRjcC0+aGRjcF9tdXRleCk7CisJY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZoZGNw LT5oZGNwX2NoZWNrX3dvcmspOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTgyOCwxNyArODM5LDE4 IEBAIHZvaWQgaW50ZWxfaGRjcF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvciwKIC8qIEltcGxlbWVudHMgUGFydCAzIG9mIHRoZSBIRENQIGF1dGhvcml6YXRpb24g cHJvY2VkdXJlICovCiBpbnQgaW50ZWxfaGRjcF9jaGVja19saW5rKHN0cnVjdCBpbnRlbF9jb25u ZWN0b3IgKmNvbm5lY3RvcikKIHsKKwlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9ICZjb25uZWN0 b3ItPmhkY3A7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gY29ubmVjdG9y LT5iYXNlLmRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50 ZWxfZGlnX3BvcnQgPSBjb25uX3RvX2RpZ19wb3J0KGNvbm5lY3Rvcik7CiAJZW51bSBwb3J0IHBv cnQgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0OwogCWludCByZXQgPSAwOwogCi0JaWYgKCFj b25uZWN0b3ItPmhkY3Bfc2hpbSkKKwlpZiAoIWhkY3AtPmhkY3Bfc2hpbSkKIAkJcmV0dXJuIC1F Tk9FTlQ7CiAKLQltdXRleF9sb2NrKCZjb25uZWN0b3ItPmhkY3BfbXV0ZXgpOworCW11dGV4X2xv Y2soJmhkY3AtPmhkY3BfbXV0ZXgpOwogCi0JaWYgKGNvbm5lY3Rvci0+aGRjcF92YWx1ZSA9PSBE Uk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fVU5ERVNJUkVEKQorCWlmIChoZGNwLT5oZGNwX3Zh bHVlID09IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9VTkRFU0lSRUQpCiAJCWdvdG8gb3V0 OwogCiAJaWYgKCEoSTkxNV9SRUFEKFBPUlRfSERDUF9TVEFUVVMocG9ydCkpICYgSERDUF9TVEFU VVNfRU5DKSkgewpAQCAtODQ2LDE3ICs4NTgsMTcgQEAgaW50IGludGVsX2hkY3BfY2hlY2tfbGlu ayhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAJCQkgIGNvbm5lY3Rvci0+YmFz ZS5uYW1lLCBjb25uZWN0b3ItPmJhc2UuYmFzZS5pZCwKIAkJCSAgSTkxNV9SRUFEKFBPUlRfSERD UF9TVEFUVVMocG9ydCkpKTsKIAkJcmV0ID0gLUVOWElPOwotCQljb25uZWN0b3ItPmhkY3BfdmFs dWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJFRDsKLQkJc2NoZWR1bGVfd29y aygmY29ubmVjdG9yLT5oZGNwX3Byb3Bfd29yayk7CisJCWhkY3AtPmhkY3BfdmFsdWUgPSBEUk1f TU9ERV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJFRDsKKwkJc2NoZWR1bGVfd29yaygmaGRjcC0+ aGRjcF9wcm9wX3dvcmspOwogCQlnb3RvIG91dDsKIAl9CiAKLQlpZiAoY29ubmVjdG9yLT5oZGNw X3NoaW0tPmNoZWNrX2xpbmsoaW50ZWxfZGlnX3BvcnQpKSB7Ci0JCWlmIChjb25uZWN0b3ItPmhk Y3BfdmFsdWUgIT0KKwlpZiAoaGRjcC0+aGRjcF9zaGltLT5jaGVja19saW5rKGludGVsX2RpZ19w b3J0KSkgeworCQlpZiAoaGRjcC0+aGRjcF92YWx1ZSAhPQogCQkgICAgRFJNX01PREVfQ09OVEVO VF9QUk9URUNUSU9OX1VOREVTSVJFRCkgewotCQkJY29ubmVjdG9yLT5oZGNwX3ZhbHVlID0KKwkJ CWhkY3AtPmhkY3BfdmFsdWUgPQogCQkJCURSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9FTkFC TEVEOwotCQkJc2NoZWR1bGVfd29yaygmY29ubmVjdG9yLT5oZGNwX3Byb3Bfd29yayk7CisJCQlz Y2hlZHVsZV93b3JrKCZoZGNwLT5oZGNwX3Byb3Bfd29yayk7CiAJCX0KIAkJZ290byBvdXQ7CiAJ fQpAQCAtODY3LDIwICs4NzksMjAgQEAgaW50IGludGVsX2hkY3BfY2hlY2tfbGluayhzdHJ1Y3Qg aW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAJcmV0ID0gX2ludGVsX2hkY3BfZGlzYWJsZShj b25uZWN0b3IpOwogCWlmIChyZXQpIHsKIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gZGlzYWJsZSBo ZGNwICglZClcbiIsIHJldCk7Ci0JCWNvbm5lY3Rvci0+aGRjcF92YWx1ZSA9IERSTV9NT0RFX0NP TlRFTlRfUFJPVEVDVElPTl9ERVNJUkVEOwotCQlzY2hlZHVsZV93b3JrKCZjb25uZWN0b3ItPmhk Y3BfcHJvcF93b3JrKTsKKwkJaGRjcC0+aGRjcF92YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJP VEVDVElPTl9ERVNJUkVEOworCQlzY2hlZHVsZV93b3JrKCZoZGNwLT5oZGNwX3Byb3Bfd29yayk7 CiAJCWdvdG8gb3V0OwogCX0KIAogCXJldCA9IF9pbnRlbF9oZGNwX2VuYWJsZShjb25uZWN0b3Ip OwogCWlmIChyZXQpIHsKIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gZW5hYmxlIGhkY3AgKCVkKVxu IiwgcmV0KTsKLQkJY29ubmVjdG9yLT5oZGNwX3ZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9U RUNUSU9OX0RFU0lSRUQ7Ci0JCXNjaGVkdWxlX3dvcmsoJmNvbm5lY3Rvci0+aGRjcF9wcm9wX3dv cmspOworCQloZGNwLT5oZGNwX3ZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0RF U0lSRUQ7CisJCXNjaGVkdWxlX3dvcmsoJmhkY3AtPmhkY3BfcHJvcF93b3JrKTsKIAkJZ290byBv dXQ7CiAJfQogCiBvdXQ6Ci0JbXV0ZXhfdW5sb2NrKCZjb25uZWN0b3ItPmhkY3BfbXV0ZXgpOwor CW11dGV4X3VubG9jaygmaGRjcC0+aGRjcF9tdXRleCk7CiAJcmV0dXJuIHJldDsKIH0KLS0gCjIu Ny40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK