From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0E0A8C433E1 for ; Wed, 1 Jul 2020 00:00:30 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E10F72065D for ; Wed, 1 Jul 2020 00:00:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E10F72065D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 36F3E6E443; Wed, 1 Jul 2020 00:00:28 +0000 (UTC) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id BDA796E372; Wed, 1 Jul 2020 00:00:25 +0000 (UTC) IronPort-SDR: Jkdua/TrEshUc4olnVyKUpszsffGtt7x7flA/nsidC4mpghZxRdIsOlBF/Y0TWWzc3cb0ril7/ hVzPGnueE6tA== X-IronPort-AV: E=McAfee;i="6000,8403,9668"; a="231276170" X-IronPort-AV: E=Sophos;i="5.75,298,1589266800"; d="scan'208";a="231276170" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jun 2020 17:00:23 -0700 IronPort-SDR: VVrrYbE/vJrKZCOhh7dEQWFbkwX7cXqhSG3WHaSpLfjYPD9Qb+68AbZpaNDOFh7uZKp3LbLCs6 H9Ur5GP83OoA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,298,1589266800"; d="scan'208";a="313582955" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga002.fm.intel.com with ESMTP; 30 Jun 2020 17:00:23 -0700 Received: from FMSMSX109.amr.corp.intel.com (10.18.116.9) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 30 Jun 2020 17:00:22 -0700 Received: from fmsmsx116.amr.corp.intel.com ([169.254.2.40]) by FMSMSX109.amr.corp.intel.com ([169.254.15.60]) with mapi id 14.03.0439.000; Tue, 30 Jun 2020 17:00:22 -0700 From: "Souza, Jose" To: "ville.syrjala@linux.intel.com" , "dri-devel@lists.freedesktop.org" Subject: Re: [Intel-gfx] [PATCH 2/3] drm/edid: Iterate through all DispID ext blocks Thread-Topic: [Intel-gfx] [PATCH 2/3] drm/edid: Iterate through all DispID ext blocks Thread-Index: AQHWNCc/2a4kAQwHVUepchmSwv83I6jygrkA Date: Wed, 1 Jul 2020 00:00:22 +0000 Message-ID: <65ff3e12c6f3fbb0384a40cc1f5c45cb5690569c.camel@intel.com> References: <20200527130310.27099-1-ville.syrjala@linux.intel.com> <20200527130310.27099-2-ville.syrjala@linux.intel.com> In-Reply-To: <20200527130310.27099-2-ville.syrjala@linux.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.255.76.92] Content-ID: <6CEC046D89CEBD499367B473D9856625@intel.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "intel-gfx@lists.freedesktop.org" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gV2VkLCAyMDIwLTA1LTI3IGF0IDE2OjAzICswMzAwLCBWaWxsZSBTeXJqYWxhIHdyb3RlOg0K PiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPg0K PiANCj4gQXBwYXJlbnRseSB0aGVyZSBhcmUgRURJRHMgaW4gdGhlIHdpbGQgd2l0aCBtdWx0aXBs ZSBEaXNwSUQgZXh0ZW5zaW9uDQo+IGJsb2Nrcy4gSXRlcmF0ZSB0aHJvdWdoIHRoZW0gYWxsLg0K PiANCj4gSW4gb25lIHBhcnRpY3VsYXIgY2FzZSB0aGUgdGlsZSBpbmZvcm1hdGlvbiBpcyBzcGVj aWNpZWQgaW4gdGhlDQo+IHNlY29uZCBEaXNwSUQgZXh0IGJsb2NrLCBhbmQgc2luY2UgdGhlIGN1 cnJlbnQgcGFyc2VyIG9ubHkgbG9va3MNCj4gYXQgdGhlIGZpcnN0IERpc3BJRCBleHQgYmxvY2sg d2UgZG9uJ3Qgbm90aWNlIHRoYXQgd2UncmUgZGVhbGluZw0KPiB3aXRoIGEgdGlsZWQgZGlzcGxh eS4NCj4gDQo+IFdoaWxlIGF0IGl0IGNoYW5nZSBhIGZldyBmdW5jdGlvbnMgdG8gcmV0dXJuIHZv aWQgc2luY2Ugd2UgaGF2ZQ0KPiBubyB1c2UgZm9yIHRoZSBlcnJuby4NCg0KV2l0aCB0aGUgY2hh bmdlIGluIHRoZSBwcmV2aW91cyBwYXRjaDoNClJldmlld2VkLWJ5OiBKb3PDqSBSb2JlcnRvIGRl IFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4NCg0KPiANCj4gUmVmZXJlbmNlczogaHR0cHM6 Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL2RybS9pbnRlbC8tL2lzc3Vlcy8yNw0KPiBTaWduZWQt b2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPg0K PiAtLS0NCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jIHwgODQgKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gIDEgZmlsZSBjaGFuZ2VkLCAzOCBpbnNlcnRpb25z KCspLCA0NiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2VkaWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jDQo+IGluZGV4IGYyNTMxZDUx ZGZhMi4uZGNiMjM1NjNkMjlkIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Vk aWQuYw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYw0KPiBAQCAtMzI0OCw2ICsz MjQ4LDcgQEAgc3RhdGljIHU4ICpkcm1fZmluZF9jZWFfZXh0ZW5zaW9uKGNvbnN0IHN0cnVjdCBl ZGlkICplZGlkKQ0KPiAgCWludCBleHRfaW5kZXg7DQo+ICANCj4gIAkvKiBMb29rIGZvciBhIHRv cCBsZXZlbCBDRUEgZXh0ZW5zaW9uIGJsb2NrICovDQo+ICsJLyogRklYTUU6IG1ha2UgY2FsbGVy cyBpdGVyYXRlIHRocm91Z2ggbXVsdGlwbGUgQ0VBIGV4dCBibG9ja3M/ICovDQo+ICAJZXh0X2lu ZGV4ID0gMDsNCj4gIAljZWEgPSBkcm1fZmluZF9lZGlkX2V4dGVuc2lvbihlZGlkLCBDRUFfRVhU LCAmZXh0X2luZGV4KTsNCj4gIAlpZiAoY2VhKQ0KPiBAQCAtMzI1NSwyMCArMzI1NiwyMCBAQCBz dGF0aWMgdTggKmRybV9maW5kX2NlYV9leHRlbnNpb24oY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQp DQo+ICANCj4gIAkvKiBDRUEgYmxvY2tzIGNhbiBhbHNvIGJlIGZvdW5kIGVtYmVkZGVkIGluIGEg RGlzcGxheUlEIGJsb2NrICovDQo+ICAJZXh0X2luZGV4ID0gMDsNCj4gLQlkaXNwbGF5aWQgPSBk cm1fZmluZF9kaXNwbGF5aWRfZXh0ZW5zaW9uKGVkaWQsICZsZW5ndGgsICZpZHgsDQo+IC0JCQkJ CQkgJmV4dF9pbmRleCk7DQo+IC0JaWYgKCFkaXNwbGF5aWQpDQo+IC0JCXJldHVybiBOVUxMOw0K PiArCWZvciAoOzspIHsNCj4gKwkJZGlzcGxheWlkID0gZHJtX2ZpbmRfZGlzcGxheWlkX2V4dGVu c2lvbihlZGlkLCAmbGVuZ3RoLCAmaWR4LA0KPiArCQkJCQkJCSAmZXh0X2luZGV4KTsNCj4gKwkJ aWYgKCFkaXNwbGF5aWQpDQo+ICsJCQlyZXR1cm4gTlVMTDsNCj4gIA0KPiAtCWlkeCArPSBzaXpl b2Yoc3RydWN0IGRpc3BsYXlpZF9oZHIpOw0KPiAtCWZvcl9lYWNoX2Rpc3BsYXlpZF9kYihkaXNw bGF5aWQsIGJsb2NrLCBpZHgsIGxlbmd0aCkgew0KPiAtCQlpZiAoYmxvY2stPnRhZyA9PSBEQVRB X0JMT0NLX0NUQSkgew0KPiAtCQkJY2VhID0gKHU4ICopYmxvY2s7DQo+IC0JCQlicmVhazsNCj4g KwkJaWR4ICs9IHNpemVvZihzdHJ1Y3QgZGlzcGxheWlkX2hkcik7DQo+ICsJCWZvcl9lYWNoX2Rp c3BsYXlpZF9kYihkaXNwbGF5aWQsIGJsb2NrLCBpZHgsIGxlbmd0aCkgew0KPiArCQkJaWYgKGJs b2NrLT50YWcgPT0gREFUQV9CTE9DS19DVEEpDQo+ICsJCQkJcmV0dXJuICh1OCAqKWJsb2NrOw0K PiAgCQl9DQo+ICAJfQ0KPiAgDQo+IC0JcmV0dXJuIGNlYTsNCj4gKwlyZXR1cm4gTlVMTDsNCj4g IH0NCj4gIA0KPiAgc3RhdGljIF9fYWx3YXlzX2lubGluZSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqY2VhX21vZGVfZm9yX3ZpYyh1OCB2aWMpDQo+IEBAIC01MjA1LDE5ICs1MjA2LDIy IEBAIHN0YXRpYyBpbnQgYWRkX2Rpc3BsYXlpZF9kZXRhaWxlZF9tb2RlcyhzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yLA0KPiAgCWludCBudW1fbW9kZXMgPSAwOw0KPiAgCWludCBleHRf aW5kZXggPSAwOw0KPiAgDQo+IC0JZGlzcGxheWlkID0gZHJtX2ZpbmRfZGlzcGxheWlkX2V4dGVu c2lvbihlZGlkLCAmbGVuZ3RoLCAmaWR4LA0KPiAtCQkJCQkJICZleHRfaW5kZXgpOw0KPiAtCWlm ICghZGlzcGxheWlkKQ0KPiAtCQlyZXR1cm4gMDsNCj4gLQ0KPiAtCWlkeCArPSBzaXplb2Yoc3Ry dWN0IGRpc3BsYXlpZF9oZHIpOw0KPiAtCWZvcl9lYWNoX2Rpc3BsYXlpZF9kYihkaXNwbGF5aWQs IGJsb2NrLCBpZHgsIGxlbmd0aCkgew0KPiAtCQlzd2l0Y2ggKGJsb2NrLT50YWcpIHsNCj4gLQkJ Y2FzZSBEQVRBX0JMT0NLX1RZUEVfMV9ERVRBSUxFRF9USU1JTkc6DQo+IC0JCQludW1fbW9kZXMg Kz0gYWRkX2Rpc3BsYXlpZF9kZXRhaWxlZF8xX21vZGVzKGNvbm5lY3RvciwgYmxvY2spOw0KPiAr CWZvciAoOzspIHsNCj4gKwkJZGlzcGxheWlkID0gZHJtX2ZpbmRfZGlzcGxheWlkX2V4dGVuc2lv bihlZGlkLCAmbGVuZ3RoLCAmaWR4LA0KPiArCQkJCQkJCSAmZXh0X2luZGV4KTsNCj4gKwkJaWYg KCFkaXNwbGF5aWQpDQo+ICAJCQlicmVhazsNCj4gKw0KPiArCQlpZHggKz0gc2l6ZW9mKHN0cnVj dCBkaXNwbGF5aWRfaGRyKTsNCj4gKwkJZm9yX2VhY2hfZGlzcGxheWlkX2RiKGRpc3BsYXlpZCwg YmxvY2ssIGlkeCwgbGVuZ3RoKSB7DQo+ICsJCQlzd2l0Y2ggKGJsb2NrLT50YWcpIHsNCj4gKwkJ CWNhc2UgREFUQV9CTE9DS19UWVBFXzFfREVUQUlMRURfVElNSU5HOg0KPiArCQkJCW51bV9tb2Rl cyArPSBhZGRfZGlzcGxheWlkX2RldGFpbGVkXzFfbW9kZXMoY29ubmVjdG9yLCBibG9jayk7DQo+ ICsJCQkJYnJlYWs7DQo+ICsJCQl9DQo+ICAJCX0NCj4gIAl9DQo+ICsNCj4gIAlyZXR1cm4gbnVt X21vZGVzOw0KPiAgfQ0KPiAgDQo+IEBAIC01Nzk3LDggKzU4MDEsOCBAQCBkcm1faGRtaV92ZW5k b3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX3ZlbmRvcl9pbmZvZnJh bWUgKmZyYW1lLA0KPiAgfQ0KPiAgRVhQT1JUX1NZTUJPTChkcm1faGRtaV92ZW5kb3JfaW5mb2Zy YW1lX2Zyb21fZGlzcGxheV9tb2RlKTsNCj4gIA0KPiAtc3RhdGljIGludCBkcm1fcGFyc2VfdGls ZWRfYmxvY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwNCj4gLQkJCQkgY29uc3Qg c3RydWN0IGRpc3BsYXlpZF9ibG9jayAqYmxvY2spDQo+ICtzdGF0aWMgdm9pZCBkcm1fcGFyc2Vf dGlsZWRfYmxvY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwNCj4gKwkJCQkgIGNv bnN0IHN0cnVjdCBkaXNwbGF5aWRfYmxvY2sgKmJsb2NrKQ0KPiAgew0KPiAgCWNvbnN0IHN0cnVj dCBkaXNwbGF5aWRfdGlsZWRfYmxvY2sgKnRpbGUgPSAoc3RydWN0IGRpc3BsYXlpZF90aWxlZF9i bG9jayAqKWJsb2NrOw0KPiAgCXUxNiB3LCBoOw0KPiBAQCAtNTgzNiw3ICs1ODQwLDcgQEAgc3Rh dGljIGludCBkcm1fcGFyc2VfdGlsZWRfYmxvY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwNCj4gIAkJdGcgPSBkcm1fbW9kZV9jcmVhdGVfdGlsZV9ncm91cChjb25uZWN0b3ItPmRl diwgdGlsZS0+dG9wb2xvZ3lfaWQpOw0KPiAgCX0NCj4gIAlpZiAoIXRnKQ0KPiAtCQlyZXR1cm4g LUVOT01FTTsNCj4gKwkJcmV0dXJuOw0KPiAgDQo+ICAJaWYgKGNvbm5lY3Rvci0+dGlsZV9ncm91 cCAhPSB0Zykgew0KPiAgCQkvKiBpZiB3ZSBoYXZlbid0IGdvdCBhIHBvaW50ZXIsDQo+IEBAIC01 ODQ4LDE0ICs1ODUyLDEyIEBAIHN0YXRpYyBpbnQgZHJtX3BhcnNlX3RpbGVkX2Jsb2NrKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsDQo+ICAJfSBlbHNlDQo+ICAJCS8qIGlmIHNhbWUg dGlsZSBncm91cCwgdGhlbiByZWxlYXNlIHRoZSByZWYgd2UganVzdCB0b29rLiAqLw0KPiAgCQlk cm1fbW9kZV9wdXRfdGlsZV9ncm91cChjb25uZWN0b3ItPmRldiwgdGcpOw0KPiAtCXJldHVybiAw Ow0KPiAgfQ0KPiAgDQo+IC1zdGF0aWMgaW50IGRybV9kaXNwbGF5aWRfcGFyc2VfdGlsZWQoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwNCj4gLQkJCQkgICAgIGNvbnN0IHU4ICpkaXNw bGF5aWQsIGludCBsZW5ndGgsIGludCBpZHgpDQo+ICtzdGF0aWMgdm9pZCBkcm1fZGlzcGxheWlk X3BhcnNlX3RpbGVkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsDQo+ICsJCQkJICAg ICAgY29uc3QgdTggKmRpc3BsYXlpZCwgaW50IGxlbmd0aCwgaW50IGlkeCkNCj4gIHsNCj4gIAlj b25zdCBzdHJ1Y3QgZGlzcGxheWlkX2Jsb2NrICpibG9jazsNCj4gLQlpbnQgcmV0Ow0KPiAgDQo+ ICAJaWR4ICs9IHNpemVvZihzdHJ1Y3QgZGlzcGxheWlkX2hkcik7DQo+ICAJZm9yX2VhY2hfZGlz cGxheWlkX2RiKGRpc3BsYXlpZCwgYmxvY2ssIGlkeCwgbGVuZ3RoKSB7DQo+IEBAIC01ODY0LDE2 ICs1ODY2LDEzIEBAIHN0YXRpYyBpbnQgZHJtX2Rpc3BsYXlpZF9wYXJzZV90aWxlZChzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLA0KPiAgDQo+ICAJCXN3aXRjaCAoYmxvY2stPnRhZykg ew0KPiAgCQljYXNlIERBVEFfQkxPQ0tfVElMRURfRElTUExBWToNCj4gLQkJCXJldCA9IGRybV9w YXJzZV90aWxlZF9ibG9jayhjb25uZWN0b3IsIGJsb2NrKTsNCj4gLQkJCWlmIChyZXQpDQo+IC0J CQkJcmV0dXJuIHJldDsNCj4gKwkJCWRybV9wYXJzZV90aWxlZF9ibG9jayhjb25uZWN0b3IsIGJs b2NrKTsNCj4gIAkJCWJyZWFrOw0KPiAgCQlkZWZhdWx0Og0KPiAgCQkJRFJNX0RFQlVHX0tNUygi Zm91bmQgRGlzcGxheUlEIHRhZyAweCV4LCB1bmhhbmRsZWRcbiIsIGJsb2NrLT50YWcpOw0KPiAg CQkJYnJlYWs7DQo+ICAJCX0NCj4gIAl9DQo+IC0JcmV0dXJuIDA7DQo+ICB9DQo+ICANCj4gIHZv aWQgZHJtX3VwZGF0ZV90aWxlX2luZm8oc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwN Cj4gQEAgLTU4ODIsMjYgKzU4ODEsMTkgQEAgdm9pZCBkcm1fdXBkYXRlX3RpbGVfaW5mbyhzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLA0KPiAgCWNvbnN0IHZvaWQgKmRpc3BsYXlpZCA9 IE5VTEw7DQo+ICAJaW50IGV4dF9pbmRleCA9IDA7DQo+ICAJaW50IGxlbmd0aCwgaWR4Ow0KPiAt CWludCByZXQ7DQo+ICANCj4gIAljb25uZWN0b3ItPmhhc190aWxlID0gZmFsc2U7DQo+IC0JZGlz cGxheWlkID0gZHJtX2ZpbmRfZGlzcGxheWlkX2V4dGVuc2lvbihlZGlkLCAmbGVuZ3RoLCAmaWR4 LA0KPiAtCQkJCQkJICZleHRfaW5kZXgpOw0KPiAtCWlmICghZGlzcGxheWlkKSB7DQo+IC0JCS8q IGRyb3AgcmVmZXJlbmNlIHRvIGFueSB0aWxlIGdyb3VwIHdlIGhhZCAqLw0KPiAtCQlnb3RvIG91 dF9kcm9wX3JlZjsNCj4gKwlmb3IgKDs7KSB7DQo+ICsJCWRpc3BsYXlpZCA9IGRybV9maW5kX2Rp c3BsYXlpZF9leHRlbnNpb24oZWRpZCwgJmxlbmd0aCwgJmlkeCwNCj4gKwkJCQkJCQkgJmV4dF9p bmRleCk7DQo+ICsJCWlmICghZGlzcGxheWlkKQ0KPiArCQkJYnJlYWs7DQo+ICsNCj4gKwkJZHJt X2Rpc3BsYXlpZF9wYXJzZV90aWxlZChjb25uZWN0b3IsIGRpc3BsYXlpZCwgbGVuZ3RoLCBpZHgp Ow0KPiAgCX0NCj4gIA0KPiAtCXJldCA9IGRybV9kaXNwbGF5aWRfcGFyc2VfdGlsZWQoY29ubmVj dG9yLCBkaXNwbGF5aWQsIGxlbmd0aCwgaWR4KTsNCj4gLQlpZiAocmV0IDwgMCkNCj4gLQkJZ290 byBvdXRfZHJvcF9yZWY7DQo+IC0JaWYgKCFjb25uZWN0b3ItPmhhc190aWxlKQ0KPiAtCQlnb3Rv IG91dF9kcm9wX3JlZjsNCj4gLQlyZXR1cm47DQo+IC1vdXRfZHJvcF9yZWY6DQo+IC0JaWYgKGNv bm5lY3Rvci0+dGlsZV9ncm91cCkgew0KPiArCWlmICghY29ubmVjdG9yLT5oYXNfdGlsZSAmJiBj b25uZWN0b3ItPnRpbGVfZ3JvdXApIHsNCj4gIAkJZHJtX21vZGVfcHV0X3RpbGVfZ3JvdXAoY29u bmVjdG9yLT5kZXYsIGNvbm5lY3Rvci0+dGlsZV9ncm91cCk7DQo+ICAJCWNvbm5lY3Rvci0+dGls ZV9ncm91cCA9IE5VTEw7DQo+ICAJfQ0KPiAtCXJldHVybjsNCj4gIH0NCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=