From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web09.1239.1613613460180669995 for ; Wed, 17 Feb 2021 17:57:40 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=qBcWQnXJ; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: hao.a.wu@intel.com) IronPort-SDR: nEbRnAkn0KR+/YG8WIZgXhYsIHofTLBwi1WuIqq3NgFUckB4TNLF6mBafnmjOZ1kp1XnYaM0qx rlPWNH+apFNQ== X-IronPort-AV: E=McAfee;i="6000,8403,9898"; a="182585092" X-IronPort-AV: E=Sophos;i="5.81,185,1610438400"; d="scan'208";a="182585092" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Feb 2021 17:57:39 -0800 IronPort-SDR: d/pKgKzuPrtxc2tiVOlLUGBS9qrcZ1rChdt1xt6dUPC+lO/6EjlxwrturBwUFs0guPUTZczCgc E8fVITGhDlsg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,185,1610438400"; d="scan'208";a="364664827" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga006.jf.intel.com with ESMTP; 17 Feb 2021 17:57:39 -0800 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 17 Feb 2021 17:57:38 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Wed, 17 Feb 2021 17:57:38 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.172) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Wed, 17 Feb 2021 17:57:38 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OilYLlKV6LQj70VPUgRgwwi4x5UmQJmv+zTPVHf/RVeUjmLKi4ECVJLmB07Ms/+4pMfjqT2LZ+8IqTKCunWVK3kXGssaCihEFZm1EL2Pux1z+NsAbpj7wRTIyDXfXi0dfMQ8Pkm6+Bsh/AQsN+KtJQOFA9tvxEgrwMJ4aPMVz5tUpnupGmAC3WiesYhZODfm/J+dzkvXpFhnKQUnK5nN0c1x+ajQxOyzCuSNGXfT1zvAIr75l/gXTdDqCHcC9H9HXQwoMVdHFvgAdzcbJhWHREK+uMkIqMDjRYvIozkz3ViCQB4YkUiMGI/8XJZQS0r3VaPhLMHDPmP55v2n/tq1jQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EEvoZdEGeoYCs7ISa/cg8xPKxYN66q1y8ydXQTbB04c=; b=c2y7YLzca8F5WUP/6DAgeHo0q6/sm2LBzV3HbahYKntn7iWBbJHgY9KUml8QPlK6aK/zaPgdkowE2C9Gu91S3CYOlPLpDEqI4rIrLv8/NAi3TVNDKwFeKei7vPz2OS1JEBMekqjlY5rWiysqnWmbbww84Pjolw2BLNKGMcXPTUpqrP2EFX2Xv7UEa4oDyO8lzGCYuLnu03xCukBysuy+nwkqLrQ3hO/UAzDCRSCvKHPFm3ad9GmhZz/Sv8hsxD47ddp4FBJn3JyI8xp+Qlh0LDhMsq55CzdY04feeiFlJA6zLql0Wdio/s4dubl6UVr2Jice/COTLeZ0hcX12bS1DQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EEvoZdEGeoYCs7ISa/cg8xPKxYN66q1y8ydXQTbB04c=; b=qBcWQnXJ05BFXnfWzlCUJgAuT9fLLhbxMg6w4mxuQub1ZfID1yBEqAoI6zcjnyvEY+sPqbKIRw19QopjkupPPz+Yxnkxt4Yslqx76pCFwGIdu6omzoSgorsw0t62oXoCyYaDp2OEdIRASXRJYMbP2Dkk3Vu7dGBBB+496iIwv+8= Received: from BN8PR11MB3666.namprd11.prod.outlook.com (2603:10b6:408:8c::19) by BN7PR11MB2660.namprd11.prod.outlook.com (2603:10b6:406:b2::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.34; Thu, 18 Feb 2021 01:57:37 +0000 Received: from BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::b55f:dd51:1c7d:d53b]) by BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::b55f:dd51:1c7d:d53b%3]) with mapi id 15.20.3846.038; Thu, 18 Feb 2021 01:57:37 +0000 From: "Wu, Hao A" To: Laszlo Ersek , "Bandaru, Purna Chandra Rao" CC: "devel@edk2.groups.io" , "Wang, Jian J" , "Ni, Ray" Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/UfsPassThruDxe: Improve Error handling of Ufs Pass Thru driver Thread-Topic: [edk2-devel] [PATCH] MdeModulePkg/UfsPassThruDxe: Improve Error handling of Ufs Pass Thru driver Thread-Index: AQHXAI1a1ErqUfrPzEa4oscDDFdQq6pcbFOAgADE1OA= Date: Thu, 18 Feb 2021 01:57:37 +0000 Message-ID: References: <20210211125934.11024-1-purna.chandra.rao.bandaru@intel.com> <079e009e-5248-f852-45a5-b1a714dbf272@redhat.com> In-Reply-To: <079e009e-5248-f852-45a5-b1a714dbf272@redhat.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.218] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0b97e605-91b0-4360-af87-08d8d3b09122 x-ms-traffictypediagnostic: BN7PR11MB2660: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ewySZkUC2sJmLXNSy1ogq5QVXOsK9UoH4E/6lJ+YtdHxoNeZwicq0a9ueEZLpOXX6rWH7Oif7RK5OxRpWR6RxLCwqStZ0meuUmmoPHO3BEbqHpuzVpinDMKHPVskxaTZOslWJ++2vOJSVLJgf/n342yyGKhl4clR/yUDKL8jD0xTKeJTS2LGoSUCnjjlAXa0iyrKzdGXrOIXQbpYdvbtWZdpwGqMUgKdAMaU9oepH3wMS62C+VxQU4MqKIS2QGnkv0VG4wN8pHABlNNrWomlOiTHe/oHlDIerFJcl6haROhr7MzsAN8BK575zzkiGZEwKkdsm5fdLGlHQf2jAq16ls0EskqaIwTUEon7N/7x870rZY52ZfguW3Lv09Sra8ulq6JgGGe0+Zu/j7uRd8YWlJTWqfthNWPgr+1MFGNoPZLai3z1QCGuxaikecWPZrde3vM1vgB35njsGJbpIc6ZFzjYIvQKglqbGKIjB5DmpkJNYb5kKbK5VuqmIzrHiumi79LY+97BFSpv7hH9lVASZIt7IpgakGyOmUfMyGdTGtKZDepa2pV7lU0C4CNx4JKClvF6MLe5d4TxHQlPH8JaDr0P9w3kZhmov9KNHrDQVxI= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN8PR11MB3666.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(39860400002)(376002)(396003)(366004)(346002)(52536014)(6636002)(66476007)(2906002)(316002)(478600001)(66556008)(33656002)(45080400002)(53546011)(86362001)(64756008)(66446008)(6506007)(5660300002)(7696005)(19627235002)(66946007)(55016002)(54906003)(107886003)(9686003)(4326008)(71200400001)(110136005)(8936002)(26005)(8676002)(966005)(186003)(76116006)(83380400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?T3hhRnJnejdsMGY3UXdIUlRqUWRmbVFyaTVrTUhqUUpIZzEvVUNMVlJrWVRl?= =?utf-8?B?dGdEM2FqV2U4SGp1aWxuMlVleUg4QzBIemFwWUN1eHJVdDVySktDVVQwc29N?= =?utf-8?B?bmpyR0R5dSs2ZVhKM3Q2R3ZmRDg5R0VzSUczOTJDd3E5S0t5K1RNbWFqbTJY?= =?utf-8?B?OEdJWnVjbDVWTzgxMStYeTNDV0dnVjhaUktObGxIbEdoWGxiTnIvNml6RUtZ?= =?utf-8?B?U0RGVXN4ZlY0dXNPZnVBcG1QRHZJY0FJWmNMNERqWEFRenZLR3pGQm5jSGs1?= =?utf-8?B?QmVWalEvWkV1b2lDc2FxTndPSmpVS1EyN05MUFNkL2VyMGlaRDBzR1pXdVpu?= =?utf-8?B?ZFlsMEJPZWxXZ1Z3ZkZ4S0NPSUFXRjR2SE1JTHpZcVpTdmhBVU94L2FMWmM2?= =?utf-8?B?bE1ZWmR5SnJnMk5SbStvMHc2bHFEMHZCZHExT2Jvb0hJNUZGMVIydWJOV1pz?= =?utf-8?B?UElCWjd4cWU4VTZIOXVRUThFcHpPRmh6dTg1YVdyZDExNS9ISXA3SW5qTzRj?= =?utf-8?B?NW5DRW5yVndvYWJ3ak8rbVFOVExibFA5Uk51endRV2ZqNWF3K1dJU2hJZmE0?= =?utf-8?B?OEFDMWtKZTZqdThESHVPTFluUTVPU01pSmNnM1MvcHVGb1dtd2NrVlZnbjc4?= =?utf-8?B?WlBqNHVEcFNERGpHamhFbm5OSnpOMkxpRHE4KzYwYXpXVUFFdHpSUW9GYmx3?= =?utf-8?B?TmFmVlNqZFlSV0diNW1MVGwzL1c5a3JvSUdqOGtIdHpWSFM4ekJWb3MxMGY4?= =?utf-8?B?RXl5YldLRWtxVUVHdGUrb3hJY3VBWnpoN2hsakVXb0ZyZ1MzQ1dkU3Bqd1Fv?= =?utf-8?B?eElkeEFlZmJpUUdPclh0SGhnQTB3bFZ3d01HY3o5dnFQOGhpbXorKytKTjl4?= =?utf-8?B?L2hwd1ByV0VNazlud092bklRcG55MG0xS2ZQblVNNUE3MjI3VklNL3RrNnZu?= =?utf-8?B?T05saHFycERPN3RlcXp2T2dEcHA0TG5CQ3JKZ1d0RkxvQnAwZ3ltVG1pUEli?= =?utf-8?B?YlQrOE1vTUx6V2pSKy9kTUVSN1ZwRDhDTkZhWWkwWk9xWXRWOEJaTjRjZnJr?= =?utf-8?B?ZXFWWXNCYVgzeVhhREVrb284Z1ZUY1RPcHBCWDJEQms1RFZXdlY2d0kvMW1K?= =?utf-8?B?NTY4ODFWcW1ldHZ1OWpVd21zeWhSWDUxS055aDVMSG1iY0Zjd2Fnck1HRm5M?= =?utf-8?B?YmZtdzdScXJJV0EzbFBraWFzdmVYU21ZTjlYQ3NjVW15eUQvVU12ZzBzakZy?= =?utf-8?B?NVZKTDdvNzJSQVQ4U1JTYnJQdmhwSk5QT3B5RVVjMUJnTmdJMHhYeVQzWmIy?= =?utf-8?B?UGZFMSsxalMyT005cXdnY0xqZER0Wnd5d0dZd0tDcTlSSmlER3g0S0ttdEFq?= =?utf-8?B?S3NCaFFMSU5YVlhvc2ZRU2gxQnd5RThHSUxQVnpSaUJNOW5GeVVoMWhCV0NR?= =?utf-8?B?blVyV1ZxMk90YnZ5aUhZYzVvaDRyaFhwMkVXalI1dStVQi9pblZRS2VVYzFq?= =?utf-8?B?SlNvY0JyS3hnUmVmTDVMOGh0Q0pEeWxzMEFQcithUmhQeGdPKzYra0J2TDV6?= =?utf-8?B?Y292amVaRnYxTCtxY0hjeFpMYXpaM09BOWZyOCt6Wkg2MmR3SGhvb2p2cVU4?= =?utf-8?B?NXF3VkdzdGRxdnc1YTR0NmJpUDlKYzZPaDRhU0k1VzgwVVI3empielNXcmxK?= =?utf-8?B?eUJJaFk4QmlnelV2bUFRVTduWXpUUk9Gb0ROemxhTWhTbmxnTDFvc0x6Wk90?= =?utf-8?Q?cshmhKmIHIdfvTiJavWMyF0btcOP2ekjLnSzzwg?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN8PR11MB3666.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0b97e605-91b0-4360-af87-08d8d3b09122 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Feb 2021 01:57:37.4340 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: JL+qg96LjWkGRZobVDrc3G5399CglU3NBrvVdX46viXcrXnnP31ck7FzBOdbEtcJTPhjKTWzimzyA2Wj2rXzVg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR11MB2660 Return-Path: hao.a.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMYXN6bG8gRXJzZWsgPGxlcnNl a0ByZWRoYXQuY29tPg0KPiBTZW50OiBXZWRuZXNkYXksIEZlYnJ1YXJ5IDE3LCAyMDIxIDEwOjEx IFBNDQo+IFRvOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IFd1LCBIYW8g QSA8aGFvLmEud3VAaW50ZWwuY29tPjsNCj4gTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT4NCj4g Q2M6IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBCYW5kYXJ1LCBQdXJuYSBDaGFuZHJhIFJhbw0KPiA8 cHVybmEuY2hhbmRyYS5yYW8uYmFuZGFydUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRr Mi1kZXZlbF0gW1BBVENIXSBNZGVNb2R1bGVQa2cvVWZzUGFzc1RocnVEeGU6IEltcHJvdmUNCj4g RXJyb3IgaGFuZGxpbmcgb2YgVWZzIFBhc3MgVGhydSBkcml2ZXINCj4gDQo+IEppYW4sIEhhbywg UmF5IC0tIGFueSBmZWVkYmFjayBvbiB0aGlzPw0KDQoNCkhlbGxvIExhc3psbyBhbmQgQmFuZGFy dSwNCg0KSSB3aWxsIHRyeSB0byBwcm92aWRlIGZlZWRiYWNrcyBmb3IgdGhpcyBwYXRjaCBvbmNl IEkgYW0gYmFjayB0byB0aGUgb2ZmaWNlIChlYXJseSBuZXh0IHdlZWspLg0KU29ycnkgZm9yIHRo ZSBkZWxheWVkIHJlc3BvbnNlLg0KDQpCZXN0IFJlZ2FyZHMsDQpIYW8gV3UNCg0KDQo+IA0KPiBU aGFua3MNCj4gTGFzemxvDQo+IA0KPiBPbiAwMi8xMS8yMSAxMzo1OSwgUHVybmEgQ2hhbmRyYSBS YW8gQmFuZGFydSB3cm90ZToNCj4gPiBGcm9tOiBCYW5kYXJ1IDxwdXJuYS5jaGFuZHJhLnJhby5i YW5kYXJ1QGludGVsLmNvbT4NCj4gPg0KPiA+IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9y Zy9zaG93X2J1Zy5jZ2k/aWQ9MzIxNw0KPiA+DQo+ID4gRm9sbG93aW5nIGlzIHRoZSBicmllZiBk ZXNjcmlwdGlvbiBvZiB0aGUgY2hhbmdlcw0KPiA+ICAxKSBUaGVyZSBhcmUgY2FyZHMgdGhhdCBj YW4gdGFrZSB1cHRvIDYwMG1zIGZvciBJbml0IGFuZCBoZW5jZSBpbmNyZWFzZQ0KPiA+ICAgICB0 aGUgdGltZSBvdXQgZm9yIGZEZXZpY2VJbml0IHBvbGxpbmcgbG9vcC4NCj4gPiAgMikgQWRkIFVG UyBob3N0IGNvbmN0cm9sbGVyIHJlc2V0IGluIHRoZSBsYXN0IHJldHJ5IG9mIExpbmsgc3RhcnQg dXAuDQo+ID4gIDMpIFJldHJ5IHNlbmRpbmcgTk9QIE9VVCBjb21tYW5kIHVwdG8gMTAgdGltZXMN Cj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEJhbmRhcnUgPHB1cm5hLmNoYW5kcmEucmFvLmJhbmRh cnVAaW50ZWwuY29tPg0KPiA+DQo+ID4gQ2hhbmdlLUlkOiBJNmMwZGJjMWMxNDc0ODdlNTFmMGVk NWYyNDI1OTU3YWUwODliMDE2MA0KPiA+IC0tLQ0KPiA+ICBNZGVNb2R1bGVQa2cvQnVzL1Vmcy9V ZnNQYXNzVGhydUR4ZS9VZnNQYXNzVGhydS5jICAgIHwgMjYNCj4gKysrKysrKysrKysrKysrKysr KysrLS0tLS0NCj4gPiAgTWRlTW9kdWxlUGtnL0J1cy9VZnMvVWZzUGFzc1RocnVEeGUvVWZzUGFz c1RocnVIY2kuYyB8IDE4DQo+ID4gKysrKysrKysrKysrLS0tLS0tDQo+ID4gIDIgZmlsZXMgY2hh bmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0t Z2l0IGEvTWRlTW9kdWxlUGtnL0J1cy9VZnMvVWZzUGFzc1RocnVEeGUvVWZzUGFzc1RocnUuYw0K PiA+IGIvTWRlTW9kdWxlUGtnL0J1cy9VZnMvVWZzUGFzc1RocnVEeGUvVWZzUGFzc1RocnUuYw0K PiA+IGluZGV4IDk3NjhjMmU2ZmIuLjg5MDQ4NzQ1YmUgMTAwNjQ0DQo+ID4gLS0tIGEvTWRlTW9k dWxlUGtnL0J1cy9VZnMvVWZzUGFzc1RocnVEeGUvVWZzUGFzc1RocnUuYw0KPiA+ICsrKyBiL01k ZU1vZHVsZVBrZy9CdXMvVWZzL1Vmc1Bhc3NUaHJ1RHhlL1Vmc1Bhc3NUaHJ1LmMNCj4gPiBAQCAt MSw2ICsxLDYgQEANCj4gPiAgLyoqIEBmaWxlDQo+ID4NCj4gPiAtICBDb3B5cmlnaHQgKGMpIDIw MTQgLSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cw0KPiA+IHJlc2VydmVkLjxC Uj4NCj4gPiArICBDb3B5cmlnaHQgKGMpIDIwMTQgLSAyMDIxLCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cw0KPiA+ICsgcmVzZXJ2ZWQuPEJSPg0KPiA+ICAgIENvcHlyaWdodCAoYykgTWlj cm9zb2Z0IENvcnBvcmF0aW9uLjxCUj4NCj4gPiAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog QlNELTItQ2xhdXNlLVBhdGVudA0KPiA+DQo+ID4gQEAgLTc0OSw3ICs3NDksNyBAQCBVZnNGaW5p c2hEZXZpY2VJbml0aWFsaXphdGlvbiAoICB7DQo+ID4gICAgRUZJX1NUQVRVUyAgU3RhdHVzOw0K PiA+ICAgIFVJTlQ4ICBEZXZpY2VJbml0U3RhdHVzOw0KPiA+IC0gIFVJTlQ4ICBUaW1lb3V0Ow0K PiA+ICsgIFVJTlQxNiBUaW1lb3V0Ow0KPiA+DQo+ID4gICAgRGV2aWNlSW5pdFN0YXR1cyA9IDB4 RkY7DQo+ID4NCj4gPiBAQCAtNzYxLDE3ICs3NjEsMjMgQEAgVWZzRmluaXNoRGV2aWNlSW5pdGlh bGl6YXRpb24gKA0KPiA+ICAgICAgcmV0dXJuIFN0YXR1czsNCj4gPiAgICB9DQo+ID4NCj4gPiAt ICBUaW1lb3V0ID0gNTsNCj4gPiArICBUaW1lb3V0ID0gNjAwMDsgLy9UaGVyZSBhcmUgY2FyZHMg dGhhdCBjYW4gdGFrZSB1cHRvIDYwMG1zLg0KPiA+ICAgIGRvIHsNCj4gPiArICAgIE1pY3JvU2Vj b25kRGVsYXkgKDEwMCk7IC8vR2l2ZSAxMDAgdXMgYW5kIHRoZW4gc3RhcnQgcG9sbGluZy4NCj4g PiAgICAgIFN0YXR1cyA9IFVmc1JlYWRGbGFnIChQcml2YXRlLCBVZnNGbGFnRGV2SW5pdCwgJkRl dmljZUluaXRTdGF0dXMpOw0KPiA+ICAgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiA+ ICAgICAgICByZXR1cm4gU3RhdHVzOw0KPiA+ICAgICAgfQ0KPiA+IC0gICAgTWljcm9TZWNvbmRE ZWxheSAoMSk7DQo+ID4gICAgICBUaW1lb3V0LS07DQo+ID4gICAgfSB3aGlsZSAoRGV2aWNlSW5p dFN0YXR1cyAhPSAwICYmIFRpbWVvdXQgIT0gMCk7DQo+ID4NCj4gPiArICBpZiAoVGltZW91dCA9 PSAwKSB7DQo+ID4gKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiVWZzRmluaXNoRGV2aWNlSW5p dGlhbGl6YXRpb24NCj4gRGV2aWNlSW5pdFN0YXR1cz0leCBFRklfVElNRU9VVCBcbiIsIERldmlj ZUluaXRTdGF0dXMpKTsNCj4gPiArICAgIHJldHVybiBFRklfVElNRU9VVDsNCj4gPiArICB9IGVs c2Ugew0KPiA+ICsgICAgREVCVUcgKChERUJVR19JTkZPLCAiVWZzRmluaXNoRGV2aWNlSW5pdGlh bGl6YXRpb24gVGltZW91dA0KPiA+ICsgbGVmdD0leCBFRklfU1VDQ0VTUyBcbiIsIFRpbWVvdXQp KTsNCj4gPiAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ID4gKyAgfQ0KPiA+ICB9DQo+ID4NCj4g PiAgLyoqDQo+ID4gQEAgLTkwNSw5ICs5MTEsMTkgQEAgVWZzUGFzc1RocnVEcml2ZXJCaW5kaW5n U3RhcnQgKA0KPiA+ICAgIC8vIEF0IHRoZSBlbmQgb2YgdGhlIFVGUyBJbnRlcmNvbm5lY3QgTGF5 ZXIgaW5pdGlhbGl6YXRpb24gb24gYm90aCBob3N0IGFuZA0KPiBkZXZpY2Ugc2lkZSwNCj4gPiAg ICAvLyB0aGUgaG9zdCBzaGFsbCBzZW5kIGEgTk9QIE9VVCBVUElVIHRvIHZlcmlmeSB0aGF0IHRo ZSBkZXZpY2UgVVRQIExheWVyIGlzDQo+IHJlYWR5Lg0KPiA+ICAgIC8vDQo+ID4gKyAgZm9yIChJ bmRleCA9IDEwOyBJbmRleCA+IDA7IEluZGV4LS0pIHsNCj4gPiAgICBTdGF0dXMgPSBVZnNFeGVj Tm9wQ21kcyAoUHJpdmF0ZSk7DQo+ID4gICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiA+ IC0gICAgREVCVUcgKChERUJVR19FUlJPUiwgIlVmcyBTZW5kaW5nIE5PUCBJTiBjb21tYW5kIEVy cm9yLCBTdGF0dXMNCj4gPSAlclxuIiwgU3RhdHVzKSk7DQo+ID4gKyAgICAgIERFQlVHICgoREVC VUdfRVJST1IsICJVZnMgU2VuZGluZyBOT1AgSU4gY29tbWFuZCBFcnJvciwgSW5kZXgNCj4gPSAl eCBTdGF0dXMgPSAlclxuIiwgSW5kZXgsIFN0YXR1cykpOw0KPiA+ICsgICAgICBNaWNyb1NlY29u ZERlbGF5ICgxMDApOyAvLzEwMCB1cw0KPiA+ICsgICAgICBjb250aW51ZTsNCj4gPiArICAgIH0g ZWxzZSB7DQo+ID4gKyAgICAgIERFQlVHICgoREVCVUdfSU5GTywgIlVmcyBTZW50IE5PUCBPVVQg c3VjY2Vzc2Z1bGx5IGFuZCByZWNlaXZlZCBOT1ANCj4gSU4sIFN0YXR1cyA9ICVyXG4iLCBTdGF0 dXMpKTsNCj4gPiArICAgICAgYnJlYWs7DQo+ID4gKyAgICB9DQo+ID4gKyAgfQ0KPiA+ICsgIGlm ICghSW5kZXgpIHsNCj4gPiArICAgIERFQlVHICgoREVCVUdfSU5GTywgIk5PUCBPVVQgZmFpbGVk IGFsbCB0aGUgMTAgdGltZXMgU3RhdHVzID0NCj4gPiArICVyXG4iLCBTdGF0dXMpKTsNCj4gPiAg ICAgIGdvdG8gRXJyb3I7DQo+ID4gICAgfQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL01kZU1vZHVs ZVBrZy9CdXMvVWZzL1Vmc1Bhc3NUaHJ1RHhlL1Vmc1Bhc3NUaHJ1SGNpLmMNCj4gPiBiL01kZU1v ZHVsZVBrZy9CdXMvVWZzL1Vmc1Bhc3NUaHJ1RHhlL1Vmc1Bhc3NUaHJ1SGNpLmMNCj4gPiBpbmRl eCAwYjEwMzBhYjQ3Li40ZmE1Njg5MTk2IDEwMDY0NA0KPiA+IC0tLSBhL01kZU1vZHVsZVBrZy9C dXMvVWZzL1Vmc1Bhc3NUaHJ1RHhlL1Vmc1Bhc3NUaHJ1SGNpLmMNCj4gPiArKysgYi9NZGVNb2R1 bGVQa2cvQnVzL1Vmcy9VZnNQYXNzVGhydUR4ZS9VZnNQYXNzVGhydUhjaS5jDQo+ID4gQEAgLTIs NyArMiw3IEBADQo+ID4gICAgVWZzUGFzc1RocnVEeGUgZHJpdmVyIGlzIHVzZWQgdG8gcHJvZHVj ZSBFRklfRVhUX1NDU0lfUEFTU19USFJVDQo+IHByb3RvY29sIGludGVyZmFjZQ0KPiA+ICAgIGZv ciB1cHBlciBsYXllciBhcHBsaWNhdGlvbiB0byBleGVjdXRlIFVGUy1zdXBwb3J0ZWQgU0NTSSBj bWRzLg0KPiA+DQo+ID4gLSAgQ29weXJpZ2h0IChjKSAyMDE0IC0gMjAxOSwgSW50ZWwgQ29ycG9y YXRpb24uIEFsbCByaWdodHMNCj4gPiByZXNlcnZlZC48QlI+DQo+ID4gKyAgQ29weXJpZ2h0IChj KSAyMDE0IC0gMjAyMSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiArIHJlc2Vy dmVkLjxCUj4NCj4gPiAgICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi48QlI+ DQo+ID4gICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4g Pg0KPiA+IEBAIC0xOTI5LDE3ICsxOTI5LDE1IEBAIFVmc0RldmljZURldGVjdGlvbiAoDQo+ID4N Cj4gPiAgICAvLw0KPiA+ICAgIC8vIFN0YXJ0IFVGUyBkZXZpY2UgZGV0ZWN0aW9uLg0KPiA+IC0g IC8vIFRyeSB1cCB0byAzIHRpbWVzIGZvciBlc3RhYmxpc2hpbmcgZGF0YSBsaW5rIHdpdGggZGV2 aWNlLg0KPiA+ICsgIC8vIFRyeSB1cCB0byA0IHRpbWVzIGZvciBlc3RhYmxpc2hpbmcgZGF0YSBs aW5rIHdpdGggZGV2aWNlLg0KPiA+ICAgIC8vDQo+ID4gLSAgZm9yIChSZXRyeSA9IDA7IFJldHJ5 IDwgMzsgUmV0cnkrKykgew0KPiA+ICsgIGZvciAoUmV0cnkgPSAwOyBSZXRyeSA8IDQ7IFJldHJ5 KyspIHsNCj4gPiAgICAgIExpbmtTdGFydHVwQ29tbWFuZC5PcGNvZGUgPSBVZnNVaWNEbWVMaW5r U3RhcnR1cDsNCj4gPiAgICAgIExpbmtTdGFydHVwQ29tbWFuZC5BcmcxID0gMDsNCj4gPiAgICAg IExpbmtTdGFydHVwQ29tbWFuZC5BcmcyID0gMDsNCj4gPiAgICAgIExpbmtTdGFydHVwQ29tbWFu ZC5BcmczID0gMDsNCj4gPiAgICAgIFN0YXR1cyA9IFVmc0V4ZWNVaWNDb21tYW5kcyAoUHJpdmF0 ZSwgJkxpbmtTdGFydHVwQ29tbWFuZCk7DQo+ID4gLSAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMp KSB7DQo+ID4gLSAgICAgIHJldHVybiBFRklfREVWSUNFX0VSUk9SOw0KPiA+IC0gICAgfQ0KPiA+ ICsgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gPg0KPiA+ICAgICAgU3RhdHVzID0g VWZzTW1pb1JlYWQzMiAoUHJpdmF0ZSwgVUZTX0hDX1NUQVRVU19PRkZTRVQsICZEYXRhKTsNCj4g PiAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gPiBAQCAtMTk2MCw2ICsxOTU4LDE0 IEBAIFVmc0RldmljZURldGVjdGlvbiAoDQo+ID4gICAgICAgICAgfQ0KPiA+ICAgICAgICB9DQo+ ID4gICAgICAgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gPiArICAgICAgfQ0KPiA+ICsgICAgfQ0K PiA+ICsgICAgaWYgKFJldHJ5ID09IDIpIHsNCj4gPiArICAgICAgU3RhdHVzID0gVWZzRW5hYmxl SG9zdENvbnRyb2xsZXIgKFByaXZhdGUpOw0KPiA+ICsgICAgICBpZiAoRUZJX0VSUk9SIChTdGF0 dXMpKSB7DQo+ID4gKyAgICAgICAgREVCVUcgKChERUJVR19FUlJPUiwgIlVmc0RldmljZURldGVj dGlvbjogRW5hYmxlIEhvc3QgQ29udHJvbGxlcg0KPiBGYWlscywgU3RhdHVzID0gJXJcbiIsIFN0 YXR1cykpOw0KPiA+ICsgICAgICAgIHJldHVybiBTdGF0dXM7DQo+ID4gKyAgICAgIH0NCj4gPiAg ICAgIH0NCj4gPiAgICB9DQo+ID4NCj4gPg0KDQo=