From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sagar Arun Kamble Subject: [PATCH 3/8] drm/i915/guc: Fix GuC HW/SW state cleanup in unload path Date: Mon, 28 Aug 2017 15:26:09 +0530 Message-ID: <1503914174-3974-3-git-send-email-sagar.a.kamble@intel.com> References: <1503914174-3974-1-git-send-email-sagar.a.kamble@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2B5F86E2AD for ; Mon, 28 Aug 2017 09:52:54 +0000 (UTC) In-Reply-To: <1503914174-3974-1-git-send-email-sagar.a.kamble@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 VGVhcmRvd24gb2YgR3VDIEhXL1NXIHN0YXRlIHdhcyBub3QgcHJvcGVybHkgZG9uZSBpbiB1bmxv YWQgcGF0aC4KRHVyaW5nIHVubG9hZCwgd2UgY2FuIHJlbHkgb24gaW50ZWxfZ3VjX3Jlc2V0X3By ZXBhcmUgYmVpbmcgZG9uZQphcyBwYXJ0IG9mIGk5MTVfZ2VtX3N1c3BlbmQgZm9yIGRpc2FibGlu ZyBHdUMgaW50ZXJmYWNlcy4KV2Ugd2lsbCBoYXZlIHRvIGRpc2FibGUgR3VDIHN1Ym1pc3Npb24g cHJpb3IgdG8gc3VzcGVuZCBhcyB0aGF0IGludm9sdmVzCmNvbW11bmljYXRpb24gd2l0aCBHdUMg dG8gZGVzdHJveSBkb29yYmVsbC4gU28gaW50ZWxfdWNfZmluaV9odyBoYXMgdG8KYmUgY2FsbGVk IGFzIHBhcnQgb2YgaTkxNV9nZW1fc3VzcGVuZCBkdXJpbmcgdW5sb2FkIGFzIHRoYXQgcmVhbGx5 CnRha2VzIGNhcmUgb2YgZmluaXNoaW5nIHRoZSBHdUMgb3BlcmF0aW9ucy4gQ3JlYXRlZCBuZXcg cGFyYW1ldGVyIGZvcgppOTE1X2dlbV9zdXNwZW5kIHRvIGhhbmRsZSB1bmxvYWQvc3VzcGVuZCBw YXRoIHcuci50IGdlbSBhbmQgR3VDIHN1c3BlbmQuCkd1QyByZWxhdGVkIGFsbG9jYXRpb25zIGFy ZSBjbGVhbmVkIHVwIGFzIHBhcnQgb2YgaW50ZWxfdWNfY2xlYW51cF9ody4KCnYyOiBQcmVwYXJl ZCBpOTE1X2dlbV91bmxvYWQuIChNaWNoYWwpCgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJp cy13aWxzb24uY28udWs+CkNjOiBNaWNoYWwgV2FqZGVjemtvIDxtaWNoYWwud2FqZGVjemtvQGlu dGVsLmNvbT4KQ2M6IERhbmllbGUgQ2VyYW9sbyBTcHVyaW8gPGRhbmllbGUuY2VyYW9sb3NwdXJp b0BpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZ2FyIEFydW4gS2FtYmxlIDxzYWdhci5hLmth bWJsZUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAg ICAgfCAgNiArLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgIHwgIDEg KwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgfCA3OSArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMu YyAgICAgICB8IDEzICsrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggICAg ICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5jICAgICAgICB8IDE0ICsr Ky0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWNfY29tbW9uLmggfCAgMSArCiA3IGZp bGVzIGNoYW5nZWQsIDEwMyBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuYwppbmRleCBiMmU4Zjk1Li5iNmNjMmZlIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmMKQEAgLTYwMSw3ICs2MDEsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2dlbV9maW5pKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpOTE1X2dlbV9kcmFpbl93b3JrcXVldWUo ZGV2X3ByaXYpOwogCiAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOwot CWludGVsX3VjX2ZpbmlfaHcoZGV2X3ByaXYpOworCWludGVsX3VjX2NsZWFudXBfaHcoZGV2X3By aXYpOwogCWk5MTVfZ2VtX2NsZWFudXBfZW5naW5lcyhkZXZfcHJpdik7CiAJaTkxNV9nZW1fY29u dGV4dHNfZmluaShkZXZfcHJpdik7CiAJaTkxNV9nZW1fY2xlYW51cF91c2VycHRyKGRldl9wcml2 KTsKQEAgLTY4Miw3ICs2ODIsNyBAQCBzdGF0aWMgaW50IGk5MTVfbG9hZF9tb2Rlc2V0X2luaXQo c3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlyZXR1cm4gMDsKIAogY2xlYW51cF9nZW06Ci0JaWYg KGk5MTVfZ2VtX3N1c3BlbmQoZGV2X3ByaXYpKQorCWlmIChpOTE1X2dlbV91bmxvYWQoZGV2X3By aXYpKQogCQlEUk1fRVJST1IoImZhaWxlZCB0byBpZGxlIGhhcmR3YXJlOyBjb250aW51aW5nIHRv IHVubG9hZCFcbiIpOwogCWk5MTVfZ2VtX2ZpbmkoZGV2X3ByaXYpOwogY2xlYW51cF91YzoKQEAg LTEzNzUsNyArMTM3NSw3IEBAIHZvaWQgaTkxNV9kcml2ZXJfdW5sb2FkKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCiAKIAlpOTE1X2RyaXZlcl91bnJlZ2lzdGVyKGRldl9wcml2KTsKIAotCWlmIChp OTE1X2dlbV9zdXNwZW5kKGRldl9wcml2KSkKKwlpZiAoaTkxNV9nZW1fdW5sb2FkKGRldl9wcml2 KSkKIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gaWRsZSBoYXJkd2FyZTsgY29udGludWluZyB0byB1 bmxvYWQhXG4iKTsKIAogCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBQT1dFUl9E T01BSU5fSU5JVCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA4MzUyY2JlLi5kMjczMDk2 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTM2MDYsNiArMzYwNiw3IEBAIHZvaWQgaTkx NV9nZW1fcmVzZXRfZW5naW5lKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIGludCBp OTE1X2dlbV93YWl0X2Zvcl9pZGxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK IAkJCSAgIHVuc2lnbmVkIGludCBmbGFncyk7CiBpbnQgX19tdXN0X2NoZWNrIGk5MTVfZ2VtX3N1 c3BlbmQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKK2ludCBfX211c3RfY2hl Y2sgaTkxNV9nZW1fdW5sb2FkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB2 b2lkIGk5MTVfZ2VtX3Jlc3VtZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwog aW50IGk5MTVfZ2VtX2ZhdWx0KHN0cnVjdCB2bV9mYXVsdCAqdm1mKTsKIGludCBpOTE1X2dlbV9v YmplY3Rfd2FpdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMKaW5kZXggMjRiZWQyZC4uYmUxMjM1OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j CkBAIC00NjI0LDYgKzQ2MjQsODUgQEAgaW50IGk5MTVfZ2VtX3N1c3BlbmQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXJldHVybiByZXQ7CiB9CiAKK2ludCBpOTE1X2dlbV91 bmxvYWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSAmZGV2X3ByaXYtPmRybTsKKwlpbnQgcmV0OworCisJaW50ZWxfcnVudGlt ZV9wbV9nZXQoZGV2X3ByaXYpOworCWludGVsX3N1c3BlbmRfZ3RfcG93ZXJzYXZlKGRldl9wcml2 KTsKKworCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKKworCS8qIFdlIGhhdmUgdG8g Zmx1c2ggYWxsIHRoZSBleGVjdXRpbmcgY29udGV4dHMgdG8gbWFpbiBtZW1vcnkgc28KKwkgKiB0 aGF0IHRoZXkgY2FuIHNhdmVkIGluIHRoZSBoaWJlcm5hdGlvbiBpbWFnZS4gVG8gZW5zdXJlIHRo ZSBsYXN0CisJICogY29udGV4dCBpbWFnZSBpcyBjb2hlcmVudCwgd2UgaGF2ZSB0byBzd2l0Y2gg YXdheSBmcm9tIGl0LiBUaGF0CisJICogbGVhdmVzIHRoZSBkZXZfcHJpdi0+a2VybmVsX2NvbnRl eHQgc3RpbGwgYWN0aXZlIHdoZW4KKwkgKiB3ZSBhY3R1YWxseSBzdXNwZW5kLCBhbmQgaXRzIGlt YWdlIGluIG1lbW9yeSBtYXkgbm90IG1hdGNoIHRoZSBHUFUKKwkgKiBzdGF0ZS4gRm9ydHVuYXRl bHksIHRoZSBrZXJuZWxfY29udGV4dCBpcyBkaXNwb3NhYmxlIGFuZCB3ZSBkbworCSAqIG5vdCBy ZWx5IG9uIGl0cyBzdGF0ZS4KKwkgKi8KKwlyZXQgPSBpOTE1X2dlbV9zd2l0Y2hfdG9fa2VybmVs X2NvbnRleHQoZGV2X3ByaXYpOworCWlmIChyZXQpCisJCWdvdG8gZXJyX3VubG9jazsKKworCXJl dCA9IGk5MTVfZ2VtX3dhaXRfZm9yX2lkbGUoZGV2X3ByaXYsCisJCQkJICAgICBJOTE1X1dBSVRf SU5URVJSVVBUSUJMRSB8CisJCQkJICAgICBJOTE1X1dBSVRfTE9DS0VEKTsKKwlpZiAocmV0KQor CQlnb3RvIGVycl91bmxvY2s7CisKKwlhc3NlcnRfa2VybmVsX2NvbnRleHRfaXNfY3VycmVudChk ZXZfcHJpdik7CisJaTkxNV9nZW1fY29udGV4dHNfbG9zdChkZXZfcHJpdik7CisJbXV0ZXhfdW5s b2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CisKKwljYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmRl dl9wcml2LT5ncHVfZXJyb3IuaGFuZ2NoZWNrX3dvcmspOworCWNhbmNlbF9kZWxheWVkX3dvcmtf c3luYygmZGV2X3ByaXYtPmd0LnJldGlyZV93b3JrKTsKKworCS8qIEFzIHRoZSBpZGxlX3dvcmsg aXMgcmVhcm1pbmcgaWYgaXQgZGV0ZWN0cyBhIHJhY2UsIHBsYXkgc2FmZSBhbmQKKwkgKiByZXBl YXQgdGhlIGZsdXNoIHVudGlsIGl0IGlzIGRlZmluaXRlbHkgaWRsZS4KKwkgKi8KKwl3aGlsZSAo Zmx1c2hfZGVsYXllZF93b3JrKCZkZXZfcHJpdi0+Z3QuaWRsZV93b3JrKSkKKwkJOworCisJLyog QXNzZXJ0IHRoYXQgd2Ugc3VjZXNzZnVsbHkgZmx1c2hlZCBhbGwgdGhlIHdvcmsgYW5kCisJICog cmVzZXQgdGhlIEdQVSBiYWNrIHRvIGl0cyBpZGxlLCBsb3cgcG93ZXIgc3RhdGUuCisJICovCisJ V0FSTl9PTihkZXZfcHJpdi0+Z3QuYXdha2UpOworCVdBUk5fT04oIWludGVsX2VuZ2luZXNfYXJl X2lkbGUoZGV2X3ByaXYpKTsKKworCS8qIEhhbmRsZSBHdUMgc3VzcGVuc2lvbiBpbiBjYXNlIG9m IHVubG9hZGluZy9zeXN0ZW0gc3VzcGVuZCAqLworCWludGVsX3VjX2ZpbmlfaHcoZGV2X3ByaXYp OworCisJLyoKKwkgKiBOZWl0aGVyIHRoZSBCSU9TLCBvdXJzZWx2ZXMgb3IgYW55IG90aGVyIGtl cm5lbAorCSAqIGV4cGVjdHMgdGhlIHN5c3RlbSB0byBiZSBpbiBleGVjbGlzdHMgbW9kZSBvbiBz dGFydHVwLAorCSAqIHNvIHdlIG5lZWQgdG8gcmVzZXQgdGhlIEdQVSBiYWNrIHRvIGxlZ2FjeSBt b2RlLiBBbmQgdGhlIG9ubHkKKwkgKiBrbm93biB3YXkgdG8gZGlzYWJsZSBsb2dpY2FsIGNvbnRl eHRzIGlzIHRocm91Z2ggYSBHUFUgcmVzZXQuCisJICoKKwkgKiBTbyBpbiBvcmRlciB0byBsZWF2 ZSB0aGUgc3lzdGVtIGluIGEga25vd24gZGVmYXVsdCBjb25maWd1cmF0aW9uLAorCSAqIGFsd2F5 cyByZXNldCB0aGUgR1BVIHVwb24gdW5sb2FkIGFuZCBzdXNwZW5kLiBBZnRlcndhcmRzIHdlIHRo ZW4KKwkgKiBjbGVhbiB1cCB0aGUgR0VNIHN0YXRlIHRyYWNraW5nLCBmbHVzaGluZyBvZmYgdGhl IHJlcXVlc3RzIGFuZAorCSAqIGxlYXZpbmcgdGhlIHN5c3RlbSBpbiBhIGtub3duIGlkbGUgc3Rh dGUuCisJICoKKwkgKiBOb3RlIHRoYXQgaXMgb2YgdGhlIHVwbW9zdCBpbXBvcnRhbmNlIHRoYXQg dGhlIEdQVSBpcyBpZGxlIGFuZAorCSAqIGFsbCBzdHJheSB3cml0ZXMgYXJlIGZsdXNoZWQgKmJl Zm9yZSogd2UgZGlzbWFudGxlIHRoZSBiYWNraW5nCisJICogc3RvcmFnZSBmb3IgdGhlIHBpbm5l ZCBvYmplY3RzLgorCSAqCisJICogSG93ZXZlciwgc2luY2Ugd2UgYXJlIHVuY2VydGFpbiB0aGF0 IHJlc2V0dGluZyB0aGUgR1BVIG9uIG9sZGVyCisJICogbWFjaGluZXMgaXMgYSBnb29kIGlkZWEs IHdlIGRvbid0IC0ganVzdCBpbiBjYXNlIGl0IGxlYXZlcyB0aGUKKwkgKiBtYWNoaW5lIGluIGFu IHVudXNhYmxlIGNvbmRpdGlvbi4KKwkgKi8KKwlpOTE1X2dlbV9zYW5pdGl6ZShkZXZfcHJpdik7 CisJZ290byBvdXRfcnBtX3B1dDsKKworZXJyX3VubG9jazoKKwltdXRleF91bmxvY2soJmRldi0+ c3RydWN0X211dGV4KTsKK291dF9ycG1fcHV0OgorCWludGVsX3J1bnRpbWVfcG1fcHV0KGRldl9w cml2KTsKKwlyZXR1cm4gcmV0OworfQorCiB2b2lkIGk5MTVfZ2VtX3Jlc3VtZShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9ICZk ZXZfcHJpdi0+ZHJtOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3Vj LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuYwppbmRleCAxZmQ4NTk5Li5kYTgx YzM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuYwpAQCAtMzQzLDMgKzM0MywxNiBAQCBpbnQg aW50ZWxfZ3VjX3N5c3RlbV9yZXN1bWUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQogCSAqLwogCXJl dHVybiByZXQ7CiB9CisKK3ZvaWQgaW50ZWxfZ3VjX2Zpbmkoc3RydWN0IGludGVsX2d1YyAqZ3Vj KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGd1Y190b19pOTE1KGd1 Yyk7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9ICZkZXZfcHJpdi0+ZHJtOworCisJaWYgKGk5 MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uKSB7CisJCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211 dGV4KTsKKwkJaTkxNV9ndWNfc3VibWlzc2lvbl9kaXNhYmxlKGRldl9wcml2KTsKKwkJbXV0ZXhf dW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CisJCWludGVsX2d1Y19yZXNldF9wcmVwYXJlKGd1 Yyk7CisJfQorfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAppbmRleCBiZjRkZGEwLi4xYjMzMDVm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaApAQCAtMTY5LDYgKzE2OSw3IEBAIHN0YXRpYyBp bmxpbmUgdTMyIGd1Y19nZ3R0X29mZnNldChzdHJ1Y3QgaTkxNV92bWEgKnZtYSkKIGludCBpbnRl bF9ndWNfcnVudGltZV9yZXN1bWUoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKIGludCBpbnRlbF9n dWNfc3lzdGVtX3N1c3BlbmQoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKIGludCBpbnRlbF9ndWNf c3lzdGVtX3Jlc3VtZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwordm9pZCBpbnRlbF9ndWNfZmlu aShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwogCiBzdGF0aWMgaW5saW5lIGludCBpbnRlbF9ndWNf c2VuZChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsIGNvbnN0IHUzMiAqYWN0aW9uLAogCQkJCSB1MzIg bGVuKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmMKaW5kZXggMzBjMDA0Yy4uOTIxNmM3MyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF91Yy5jCkBAIC0zODEsMjAgKzM4MSwxNiBAQCBpbnQgaW50ZWxfdWNfaW5p dF9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIHZvaWQgaW50ZWxfdWNf ZmluaV9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CisJaW50ZWxfZ3Vj X2ZpbmkoJmRldl9wcml2LT5ndWMpOworfQorCit2b2lkIGludGVsX3VjX2NsZWFudXBfaHcoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQorewogCWd1Y19mcmVlX2xvYWRfZXJyX2xv ZygmZGV2X3ByaXYtPmd1Yyk7CiAKIAlpZiAoIWk5MTUuZW5hYmxlX2d1Y19sb2FkaW5nKQogCQly ZXR1cm47CiAKIAlpZiAoaTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24pCi0JCWk5MTVfZ3VjX3N1 Ym1pc3Npb25fZGlzYWJsZShkZXZfcHJpdik7Ci0KLQlpbnRlbF9ndWNfZGlzYWJsZV9jb21tdW5p Y2F0aW9uKCZkZXZfcHJpdi0+Z3VjKTsKLQotCWlmIChpOTE1LmVuYWJsZV9ndWNfc3VibWlzc2lv bikgewotCQlnZW45X2Rpc2FibGVfZ3VjX2ludGVycnVwdHMoZGV2X3ByaXYpOwogCQlpOTE1X2d1 Y19zdWJtaXNzaW9uX2ZpbmkoZGV2X3ByaXYpOwotCX0KLQotCWk5MTVfZ2d0dF9kaXNhYmxlX2d1 YyhkZXZfcHJpdik7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91 Y19jb21tb24uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjX2NvbW1vbi5oCmluZGV4 IGY0NTRmNzMuLmM2ZTg3M2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3VjX2NvbW1vbi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjX2NvbW1vbi5o CkBAIC05Nyw1ICs5Nyw2IEBAIHN0cnVjdCBpbnRlbF91Y19mdyB7CiB2b2lkIGludGVsX3VjX2Zp bmlfZncoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIGludCBpbnRlbF91Y19p bml0X2h3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB2b2lkIGludGVsX3Vj X2ZpbmlfaHcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKK3ZvaWQgaW50ZWxf dWNfY2xlYW51cF9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogCiAjZW5k aWYKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK