From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Souza, Jose" Subject: Re: [CI v3 13/23] drm/i915: Fix the TypeC port mode sanitization during loading/resume Date: Thu, 27 Jun 2019 20:38:23 +0000 Message-ID: <4047f73117ae401f9221bd3fad58e7e85cb1e892.camel@intel.com> References: <20190620140600.11357-14-imre.deak@intel.com> <20190626205010.18597-3-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id A0EE66E5C5 for ; Thu, 27 Jun 2019 20:38:25 +0000 (UTC) In-Reply-To: <20190626205010.18597-3-imre.deak@intel.com> Content-Language: en-US Content-ID: <2F621FA0C8D39F4ABA38B754C1D3ECFB@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" , "Deak, Imre" Cc: "Zanoni, Paulo R" List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAyMDE5LTA2LTI2IGF0IDIzOjUwICswMzAwLCBJbXJlIERlYWsgd3JvdGU6DQo+IEZv ciB1c2luZyB0aGUgY29ycmVjdCBBVVggcG93ZXIgZG9tYWlucyB3ZSBoYXZlIHRvIHNhbml0aXpl IHRoZSBUeXBlQw0KPiBwb3J0IG1vZGUgZWFybHksIHNvIG1vdmUgdGhhdCBiZWZvcmUgZW5jb2Rl ciBzYW5pdGl6YXRpb24uIFRvIGRvIHRoaXMNCj4gcHJvcGVybHkgcmVhZCBvdXQgdGhlIGFjdHVh bCBwb3J0IG1vZGUgaW5zdGVhZCBvZiBqdXN0IHJlbHlpbmcgb24gdGhlDQo+IFZCVCBsZWdhY3kg cG9ydCBmbGFnICh3aGljaCBjYW4gYmUgaW5jb3JyZWN0KS4NCj4gDQo+IFdlIGFsc28gdmVyaWZ5 IHRoYXQgdGhlIFBIWSBpcyBjb25uZWN0ZWQgYXMgZXhwZWN0ZWQgaWYgdGhlIHBvcnQgaXMNCj4g YWN0aXZlLiBJbiBjYXNlIHRoZSBwb3J0IGlzIGluYWN0aXZlIHdlIGNvbm5lY3QgdGhlIFBIWSBp biBjYXNlIG9mIGENCj4gbGVnYWN5IHBvcnQgLSBhcyB3ZSBkaWQgc28gZmFyLiBUaGUgUEhZIHdp bGwgYmUgY29ubmVjdGVkIGR1cmluZw0KPiBkZXRlY3Rpb24gZm9yIERQLWFsdCBtb2RlIC0gYXMg aXQgd2FzIGRvbmUgc28gZmFyLiBGb3IgVEJULWFsdCBtb2RlDQo+IG5vdGhpbmcgbmVlZHMgdG8g YmUgZG9uZSB0byBjb25uZWN0IHRoZSBQSFkuDQo+IA0KPiB2MjoNCj4gLSBVc2UgRFJNX0RFQlVH X0tNUyBpbnN0ZWFkIG9mIERSTV9ERUJVR19EUklWRVIuIChKb3PDqSkNCj4gdjM6DQo+IC0gRGV0 ZWN0IFRDQ09MRCBhbnkgdGltZSBQT1JUX1RYX0RGTEVYRFBDU1NTIGlzIHJlYWQuIChWaWxsZSkN Cj4gDQo+IENjOiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4N Cj4gQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4NCj4gQ2M6IFBhdWxv IFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPg0KPiBDYzogVmlsbGUgU3lyasOkbMOk IDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogSW1yZSBE ZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPg0KPiBSZXZpZXdlZC1ieTogSm9zw6kgUm9iZXJ0byBk ZSBTb3V6YSA8am9zZS5zb3V6YUBpbnRlbC5jb20+ICh2MikNCg0KUmV2aWV3ZWQtYnk6IEpvc8Op IFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29tPiANCg0KPiAtLS0NCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMgICAgIHwgMTYgKy0tLQ0KPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgfCAxMCArKysNCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBfbXN0LmggIHwgIDggKy0NCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdGMuYyAgICAgIHwgODQNCj4gKysr KysrKysrKysrKysrKysrKysNCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf dGMuaCAgICAgIHwgIDIgKw0KPiAgNSBmaWxlcyBjaGFuZ2VkLCAxMDQgaW5zZXJ0aW9ucygrKSwg MTYgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kZGkuYw0KPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGRpLmMNCj4gaW5kZXggMmJlN2NkYzMxOWJhLi4wYzViZmJkNjZiMTkgMTAwNjQ0DQo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMNCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kZGkuYw0KPiBAQCAtMzkzMSwxNyArMzkz MSw2IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9lbmNvZGVyX3N1c3BlbmQoc3RydWN0DQo+IGlu dGVsX2VuY29kZXIgKmVuY29kZXIpDQo+ICAJCWljbF90Y19waHlfZGlzY29ubmVjdChkaWdfcG9y dCk7DQo+ICB9DQo+ICANCj4gLXN0YXRpYyB2b2lkIGludGVsX2RkaV9lbmNvZGVyX3Jlc2V0KHN0 cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuY29kZXIpDQo+IC17DQo+IC0Jc3RydWN0IGludGVsX2Rp Z2l0YWxfcG9ydCAqZGlnX3BvcnQgPQ0KPiBlbmNfdG9fZGlnX3BvcnQoZHJtX2VuY29kZXIpOw0K PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShkcm1fZW5jb2Rlci0+ ZGV2KTsNCj4gLQ0KPiAtCWlmIChpbnRlbF9wb3J0X2lzX3RjKGk5MTUsIGRpZ19wb3J0LT5iYXNl LnBvcnQpKQ0KPiAtCQlpbnRlbF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKCZkaWdfcG9ydC0+YmFz ZSk7DQo+IC0NCj4gLQlpbnRlbF9kcF9lbmNvZGVyX3Jlc2V0KGRybV9lbmNvZGVyKTsNCj4gLX0N Cj4gLQ0KPiAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIpDQo+ICB7DQo+ICAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq ZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoZW5jb2Rlcik7DQo+IEBAIC0zOTU3LDcgKzM5NDYs NyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfZW5jb2Rlcl9kZXN0cm95KHN0cnVjdA0KPiBkcm1f ZW5jb2RlciAqZW5jb2RlcikNCj4gIH0NCj4gIA0KPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f ZW5jb2Rlcl9mdW5jcyBpbnRlbF9kZGlfZnVuY3MgPSB7DQo+IC0JLnJlc2V0ID0gaW50ZWxfZGRp X2VuY29kZXJfcmVzZXQsDQo+ICsJLnJlc2V0ID0gaW50ZWxfZHBfZW5jb2Rlcl9yZXNldCwNCj4g IAkuZGVzdHJveSA9IGludGVsX2RkaV9lbmNvZGVyX2Rlc3Ryb3ksDQo+ICB9Ow0KPiAgDQo+IEBA IC00MzI4LDkgKzQzMTcsNiBAQCB2b2lkIGludGVsX2RkaV9pbml0KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlDQo+ICpkZXZfcHJpdiwgZW51bSBwb3J0IHBvcnQpDQo+ICANCj4gIAlpbnRlbF9pbmZv ZnJhbWVfaW5pdChpbnRlbF9kaWdfcG9ydCk7DQo+ICANCj4gLQlpZiAoaW50ZWxfcG9ydF9pc190 YyhkZXZfcHJpdiwgcG9ydCkpDQo+IC0JCWludGVsX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoaW50 ZWxfZW5jb2Rlcik7DQo+IC0NCj4gIAlyZXR1cm47DQo+ICANCj4gIGVycjoNCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jDQo+IGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMNCj4gaW5kZXggZTQ3ZGY4 YTg0MDFlLi5kZWU5Yjg5ZWIzZWUgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheS5jDQo+IEBAIC03OCw2ICs3OCw3IEBADQo+ICAjaW5jbHVkZSAi aW50ZWxfcXVpcmtzLmgiDQo+ICAjaW5jbHVkZSAiaW50ZWxfc2lkZWJhbmQuaCINCj4gICNpbmNs dWRlICJpbnRlbF9zcHJpdGUuaCINCj4gKyNpbmNsdWRlICJpbnRlbF90Yy5oIg0KPiAgDQo+ICAv KiBQcmltYXJ5IHBsYW5lIGZvcm1hdHMgZm9yIGdlbiA8PSAzICovDQo+ICBzdGF0aWMgY29uc3Qg dTMyIGk4eHhfcHJpbWFyeV9mb3JtYXRzW10gPSB7DQo+IEBAIC0xNjg0NCw2ICsxNjg0NSwxNSBA QCBpbnRlbF9tb2Rlc2V0X3NldHVwX2h3X3N0YXRlKHN0cnVjdA0KPiBkcm1fZGV2aWNlICpkZXYs DQo+ICAJaW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlKGRldik7DQo+ICANCj4gIAkvKiBI VyBzdGF0ZSBpcyByZWFkIG91dCwgbm93IHdlIG5lZWQgdG8gc2FuaXRpemUgdGhpcyBtZXNzLiAq Lw0KPiArDQo+ICsJLyogU2FuaXRpemUgdGhlIFR5cGVDIHBvcnQgbW9kZSB1cGZyb250LCBlbmNv ZGVycyBkZXBlbmQgb24NCj4gdGhpcyAqLw0KPiArCWZvcl9lYWNoX2ludGVsX2VuY29kZXIoZGV2 LCBlbmNvZGVyKSB7DQo+ICsJCS8qIFdlIG5lZWQgdG8gc2FuaXRpemUgb25seSB0aGUgTVNUIHBy aW1hcnkgcG9ydC4gKi8NCj4gKwkJaWYgKGVuY29kZXItPnR5cGUgIT0gSU5URUxfT1VUUFVUX0RQ X01TVCAmJg0KPiArCQkgICAgaW50ZWxfcG9ydF9pc190YyhkZXZfcHJpdiwgZW5jb2Rlci0+cG9y dCkpDQo+ICsJCQlpbnRlbF90Y19wb3J0X3Nhbml0aXplKGVuY190b19kaWdfcG9ydCgmZW5jb2Rl cg0KPiAtPmJhc2UpKTsNCj4gKwl9DQo+ICsNCj4gIAlnZXRfZW5jb2Rlcl9wb3dlcl9kb21haW5z KGRldl9wcml2KTsNCj4gIA0KPiAgCWlmIChIQVNfUENIX0lCWChkZXZfcHJpdikpDQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX21zdC5oDQo+IGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9tc3QuaA0KPiBpbmRleCAxNDcw YzZlMDUxNGIuLjY3NTRjMjExMjA1YSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kcF9tc3QuaA0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2RwX21zdC5oDQo+IEBAIC02LDkgKzYsMTUgQEANCj4gICNpZm5kZWYgX19J TlRFTF9EUF9NU1RfSF9fDQo+ICAjZGVmaW5lIF9fSU5URUxfRFBfTVNUX0hfXw0KPiAgDQo+IC1z dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0Ow0KPiArI2luY2x1ZGUgImludGVsX2Rydi5oIg0KPiAg DQo+ICBpbnQgaW50ZWxfZHBfbXN0X2VuY29kZXJfaW5pdChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0DQo+ICppbnRlbF9kaWdfcG9ydCwgaW50IGNvbm5faWQpOw0KPiAgdm9pZCBpbnRlbF9kcF9t c3RfZW5jb2Rlcl9jbGVhbnVwKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQNCj4gKmludGVsX2Rp Z19wb3J0KTsNCj4gK3N0YXRpYyBpbmxpbmUgaW50DQo+ICtpbnRlbF9kcF9tc3RfZW5jb2Rlcl9h Y3RpdmVfbGlua3Moc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydA0KPiAqaW50ZWxfZGlnX3BvcnQp DQo+ICt7DQo+ICsJcmV0dXJuIGludGVsX2RpZ19wb3J0LT5kcC5hY3RpdmVfbXN0X2xpbmtzOw0K PiArfQ0KPiArDQo+ICANCj4gICNlbmRpZiAvKiBfX0lOVEVMX0RQX01TVF9IX18gKi8NCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdGMuYw0KPiBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfdGMuYw0KPiBpbmRleCBmNjNkZGYzOWIz NjkuLjc4MzQwMTE1Yjk5NCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF90Yy5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfdGMuYw0KPiBAQCAtNCw2ICs0LDcgQEANCj4gICAqLw0KPiAgDQo+ICAjaW5jbHVkZSAiaW50 ZWxfZGlzcGxheS5oIg0KPiArI2luY2x1ZGUgImludGVsX2RwX21zdC5oIg0KPiAgI2luY2x1ZGUg Imk5MTVfZHJ2LmgiDQo+ICAjaW5jbHVkZSAiaW50ZWxfdGMuaCINCj4gIA0KPiBAQCAtMTYwLDYg KzE2MSwyMiBAQCBzdGF0aWMgYm9vbCBpY2xfdGNfcGh5X3NldF9zYWZlX21vZGUoc3RydWN0DQo+ IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQsDQo+ICAJcmV0dXJuIHRydWU7DQo+ICB9DQo+ ICANCj4gK3N0YXRpYyBib29sIGljbF90Y19waHlfaXNfaW5fc2FmZV9tb2RlKHN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQNCj4gKmRpZ19wb3J0KQ0KPiArew0KPiArCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGlnX3BvcnQtDQo+ID5iYXNlLmJhc2UuZGV2KTsN Cj4gKwllbnVtIHRjX3BvcnQgdGNfcG9ydCA9IGludGVsX3BvcnRfdG9fdGMoZGV2X3ByaXYsIGRp Z19wb3J0LQ0KPiA+YmFzZS5wb3J0KTsNCj4gKwl1MzIgdmFsOw0KPiArDQo+ICsJdmFsID0gSTkx NV9SRUFEKFBPUlRfVFhfREZMRVhEUENTU1MpOw0KPiArCWlmICh2YWwgPT0gMHhmZmZmZmZmZikg ew0KPiArCQlEUk1fREVCVUdfS01TKCJQb3J0ICVzOiBQSFkgaW4gVENDT0xELCBhc3N1bWUgc2Fm ZQ0KPiBtb2RlXG4iLA0KPiArCQkJICAgICAgZGlnX3BvcnQtPnRjX3BvcnRfbmFtZSk7DQo+ICsJ CXJldHVybiB0cnVlOw0KPiArCX0NCj4gKw0KPiArCXJldHVybiAhKHZhbCAmIERQX1BIWV9NT0RF X1NUQVRVU19OT1RfU0FGRSh0Y19wb3J0KSk7DQo+ICt9DQo+ICsNCj4gIC8qDQo+ICAgKiBUaGlz IGZ1bmN0aW9uIGltcGxlbWVudHMgdGhlIGZpcnN0IHBhcnQgb2YgdGhlIENvbm5lY3QgRmxvdw0K PiBkZXNjcmliZWQgYnkgb3VyDQo+ICAgKiBzcGVjaWZpY2F0aW9uLCBHZW4xMSBUeXBlQyBQcm9n cmFtbWluZyBjaGFwdGVyLiBUaGUgcmVzdCBvZiB0aGUNCj4gZmxvdyAocmVhZGluZw0KPiBAQCAt MjQwLDYgKzI1Nyw0NiBAQCB2b2lkIGljbF90Y19waHlfZGlzY29ubmVjdChzdHJ1Y3QNCj4gaW50 ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkNCj4gIAl9DQo+ICB9DQo+ICANCj4gK3N0YXRpYyBi b29sIGljbF90Y19waHlfaXNfY29ubmVjdGVkKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQNCj4g KmRpZ19wb3J0KQ0KPiArew0KPiArCWlmICghaWNsX3RjX3BoeV9zdGF0dXNfY29tcGxldGUoZGln X3BvcnQpKSB7DQo+ICsJCURSTV9ERUJVR19LTVMoIlBvcnQgJXM6IFBIWSBzdGF0dXMgbm90IGNv bXBsZXRlXG4iLA0KPiArCQkJICAgICAgZGlnX3BvcnQtPnRjX3BvcnRfbmFtZSk7DQo+ICsJCXJl dHVybiBkaWdfcG9ydC0+dGNfbW9kZSA9PSBUQ19QT1JUX1RCVF9BTFQ7DQo+ICsJfQ0KPiArDQo+ ICsJaWYgKGljbF90Y19waHlfaXNfaW5fc2FmZV9tb2RlKGRpZ19wb3J0KSkgew0KPiArCQlEUk1f REVCVUdfS01TKCJQb3J0ICVzOiBQSFkgc3RpbGwgaW4gc2FmZSBtb2RlXG4iLA0KPiArCQkJICAg ICAgZGlnX3BvcnQtPnRjX3BvcnRfbmFtZSk7DQo+ICsNCj4gKwkJcmV0dXJuIGZhbHNlOw0KPiAr CX0NCj4gKw0KPiArCXJldHVybiBkaWdfcG9ydC0+dGNfbW9kZSA9PSBUQ19QT1JUX0RQX0FMVCB8 fA0KPiArCSAgICAgICBkaWdfcG9ydC0+dGNfbW9kZSA9PSBUQ19QT1JUX0xFR0FDWTsNCj4gK30N Cj4gKw0KPiArc3RhdGljIGVudW0gdGNfcG9ydF9tb2RlDQo+ICtpbnRlbF90Y19wb3J0X2dldF9j dXJyZW50X21vZGUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpDQo+ICt7DQo+ ICsJdTMyIGxpdmVfc3RhdHVzX21hc2sgPSB0Y19wb3J0X2xpdmVfc3RhdHVzX21hc2soZGlnX3Bv cnQpOw0KPiArCWJvb2wgaW5fc2FmZV9tb2RlID0gaWNsX3RjX3BoeV9pc19pbl9zYWZlX21vZGUo ZGlnX3BvcnQpOw0KPiArCWVudW0gdGNfcG9ydF9tb2RlIG1vZGU7DQo+ICsNCj4gKwlpZiAoaW5f c2FmZV9tb2RlIHx8DQo+IFdBUk5fT04oIWljbF90Y19waHlfc3RhdHVzX2NvbXBsZXRlKGRpZ19w b3J0KSkpDQo+ICsJCXJldHVybiBUQ19QT1JUX1RCVF9BTFQ7DQo+ICsNCj4gKwltb2RlID0gZGln X3BvcnQtPnRjX2xlZ2FjeV9wb3J0ID8gVENfUE9SVF9MRUdBQ1kgOg0KPiBUQ19QT1JUX0RQX0FM VDsNCj4gKwlpZiAobGl2ZV9zdGF0dXNfbWFzaykgew0KPiArCQllbnVtIHRjX3BvcnRfbW9kZSBs aXZlX21vZGUgPSBmbHMobGl2ZV9zdGF0dXNfbWFzaykgLQ0KPiAxOw0KPiArDQo+ICsJCWlmICgh V0FSTl9PTihsaXZlX21vZGUgPT0gVENfUE9SVF9UQlRfQUxUKSkNCj4gKwkJCW1vZGUgPSBsaXZl X21vZGU7DQo+ICsJfQ0KPiArDQo+ICsJcmV0dXJuIG1vZGU7DQo+ICt9DQo+ICsNCj4gIHN0YXRp YyBlbnVtIHRjX3BvcnRfbW9kZQ0KPiAgaW50ZWxfdGNfcG9ydF9nZXRfdGFyZ2V0X21vZGUoc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpDQo+ICB7DQo+IEBAIC0yNjYsNiArMzIz LDMzIEBAIHN0YXRpYyB2b2lkIGludGVsX3RjX3BvcnRfcmVzZXRfbW9kZShzdHJ1Y3QNCj4gaW50 ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCkNCj4gIAkJICAgICAgdGNfcG9ydF9tb2RlX25hbWUo ZGlnX3BvcnQtPnRjX21vZGUpKTsNCj4gIH0NCj4gIA0KPiArdm9pZCBpbnRlbF90Y19wb3J0X3Nh bml0aXplKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0KQ0KPiArew0KPiArCXN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0gJmRpZ19wb3J0LT5iYXNlOw0KPiArCWludCBh Y3RpdmVfbGlua3MgPSAwOw0KPiArDQo+ICsJZGlnX3BvcnQtPnRjX21vZGUgPSBpbnRlbF90Y19w b3J0X2dldF9jdXJyZW50X21vZGUoZGlnX3BvcnQpOw0KPiArCWlmIChkaWdfcG9ydC0+ZHAuaXNf bXN0KQ0KPiArCQlhY3RpdmVfbGlua3MgPQ0KPiBpbnRlbF9kcF9tc3RfZW5jb2Rlcl9hY3RpdmVf bGlua3MoZGlnX3BvcnQpOw0KPiArCWVsc2UgaWYgKGVuY29kZXItPmJhc2UuY3J0YykNCj4gKwkJ YWN0aXZlX2xpbmtzID0gdG9faW50ZWxfY3J0YyhlbmNvZGVyLT5iYXNlLmNydGMpLQ0KPiA+YWN0 aXZlOw0KPiArDQo+ICsJaWYgKGFjdGl2ZV9saW5rcykgew0KPiArCQlpZiAoIWljbF90Y19waHlf aXNfY29ubmVjdGVkKGRpZ19wb3J0KSkNCj4gKwkJCURSTV9ERUJVR19LTVMoIlBvcnQgJXM6IFBI WSBkaXNjb25uZWN0ZWQgd2l0aA0KPiAlZCBhY3RpdmUgbGluayhzKVxuIiwNCj4gKwkJCQkgICAg ICBkaWdfcG9ydC0+dGNfcG9ydF9uYW1lLA0KPiBhY3RpdmVfbGlua3MpOw0KPiArCQlnb3RvIG91 dDsNCj4gKwl9DQo+ICsNCj4gKwlpZiAoZGlnX3BvcnQtPnRjX2xlZ2FjeV9wb3J0KQ0KPiArCQlp Y2xfdGNfcGh5X2Nvbm5lY3QoZGlnX3BvcnQpOw0KPiArDQo+ICtvdXQ6DQo+ICsJRFJNX0RFQlVH X0tNUygiUG9ydCAlczogc2FuaXRpemUgbW9kZSAoJXMpXG4iLA0KPiArCQkgICAgICBkaWdfcG9y dC0+dGNfcG9ydF9uYW1lLA0KPiArCQkgICAgICB0Y19wb3J0X21vZGVfbmFtZShkaWdfcG9ydC0+ dGNfbW9kZSkpOw0KPiArfQ0KPiArDQo+ICBzdGF0aWMgYm9vbCBpbnRlbF90Y19wb3J0X25lZWRz X3Jlc2V0KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQNCj4gKmRpZ19wb3J0KQ0KPiAgew0KPiAg CXJldHVybiBpbnRlbF90Y19wb3J0X2dldF90YXJnZXRfbW9kZShkaWdfcG9ydCkgIT0gZGlnX3Bv cnQtDQo+ID50Y19tb2RlOw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF90Yy5oDQo+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90 Yy5oDQo+IGluZGV4IDhjMzM4YzQ1Nzk2ZC4uNWE3ODc2YTc0NTIyIDEwMDY0NA0KPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3RjLmgNCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF90Yy5oDQo+IEBAIC0xNiw2ICsxNiw4IEBAIGJvb2wg aW50ZWxfdGNfcG9ydF9jb25uZWN0ZWQoc3RydWN0DQo+IGludGVsX2RpZ2l0YWxfcG9ydCAqZGln X3BvcnQpOw0KPiAgdTMyIGludGVsX3RjX3BvcnRfZ2V0X2xhbmVfbWFzayhzdHJ1Y3QgaW50ZWxf ZGlnaXRhbF9wb3J0DQo+ICpkaWdfcG9ydCk7DQo+ICBpbnQgaW50ZWxfdGNfcG9ydF9maWFfbWF4 X2xhbmVfY291bnQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydA0KPiAqZGlnX3BvcnQpOw0KPiAg DQo+ICt2b2lkIGludGVsX3RjX3BvcnRfc2FuaXRpemUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9y dCAqZGlnX3BvcnQpOw0KPiArDQo+ICB2b2lkIGludGVsX3RjX3BvcnRfaW5pdChzdHJ1Y3QgaW50 ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCwgYm9vbA0KPiBpc19sZWdhY3kpOw0KPiAgDQo+ICAj ZW5kaWYgLyogX19JTlRFTF9UQ19IX18gKi8NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeA==