From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web11.2503.1603416477416564627 for ; Thu, 22 Oct 2020 18:27:57 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=G3sN3+QB; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: heng.luo@intel.com) IronPort-SDR: LEMwac3o+3CwhYOc+a8Emn8LOFBUTlY6KQMoNIS9oW3RQ0CMXQhaO1ceGehxtnD/2S9X+IVU8P gnb51RGWcjmg== X-IronPort-AV: E=McAfee;i="6000,8403,9782"; a="154572955" X-IronPort-AV: E=Sophos;i="5.77,404,1596524400"; d="scan'208";a="154572955" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Oct 2020 18:27:56 -0700 IronPort-SDR: IQfXsFPNqlx4ziL9CTtWpe3bJDmLd9fVIHMrrVrge47q/Dc74bOlSnrzlVAwUGnjr27Y+ZAHfD xIqeQ5Isfwkg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,404,1596524400"; d="scan'208";a="316925570" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga003.jf.intel.com with ESMTP; 22 Oct 2020 18:27:56 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) 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.1713.5; Thu, 22 Oct 2020 18:27:56 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 22 Oct 2020 18:27:55 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Thu, 22 Oct 2020 18:27:55 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.169) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Thu, 22 Oct 2020 18:27:55 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lznrHBd+DAQZGMQmVz4EGgVcHndwBNawyWUJM3AiZy/+ctZyNFrGjeKhK/q/3BE/0QS257oxjr5zaOsatI++IX9o7lGFDxnLQbS5ebP2yOQjJESarEUbl9GhNgCjoZ/FTe2bvUVAvNmJN5Umm3WMRL2E2Krv2el9ElCXafWn7s6zRw3MwT6xk/gzFnXoQow52X4Z+Hyri/cRbEfkLPKsTvHcZweVjmxyadt2ALCj3M2REGozriH5EgiqEqgB0vGf5RpEMOdnqPORqonWi2xpKFAWxeSb+IJjGAT3jTu5cOO2ynfS3wM8kXXcag8wdKgTESTlcDSZ0S20tbdr8t2Kaw== 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=B+dF42YANuGegzWsHnIylML64/yx+eAldnJG5URZI0Q=; b=eMNRu3B61aTfVzFa+ilnEaLXNxgdv6D8rKn9EUUSwpMs5Txq3lSgYKycSO1o4IhZMzLjrKc7m1aXNHEBRynk6LcZu/DZ+LHvOMRbD29pZcjgo3RiIQdylXwL2JVnxQx9NfkXEz4r9wLtv5c8TG8xJAzpwLrAY6Aj5tjTqDRxxVWFmn08ewkcohFYYEqOqXatbjigTJthRUHQs9PaKp5dAUGmRFP3nrcOTwtRub8fo218OIFjjwoOsVlgcAfIhVm3GARPVikkis9U4lsFvVZI+8d8b+7NuGNsRH+UefMte+bQDgb3hisRh4Fgv13C1IrCZUJHLY8FY3kUpAt97lvjqQ== 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=B+dF42YANuGegzWsHnIylML64/yx+eAldnJG5URZI0Q=; b=G3sN3+QBttBz6bQbuBy1dNhEQH/2mkpaiFlTWrJprMNFobznUxpShgutlkq1u9vOb+9PX8t0jFM306ZTfOVTJhUlS6hBil9nuy/QOAFcOZpd8czCxoWc4E9OpG57feHyv7ghOkMq/jaiWHKtFVgq4pa+ouimilLf+6/CGElme1I= Received: from MWHPR11MB1805.namprd11.prod.outlook.com (2603:10b6:300:114::14) by MWHPR11MB2048.namprd11.prod.outlook.com (2603:10b6:300:27::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.18; Fri, 23 Oct 2020 01:27:54 +0000 Received: from MWHPR11MB1805.namprd11.prod.outlook.com ([fe80::bd78:5a79:d875:65e4]) by MWHPR11MB1805.namprd11.prod.outlook.com ([fe80::bd78:5a79:d875:65e4%12]) with mapi id 15.20.3477.028; Fri, 23 Oct 2020 01:27:54 +0000 From: "Heng Luo" To: "Wu, Hao A" , Jon Hunter , "devel@edk2.groups.io" , "jbrasen@nvidia.com" CC: "Ni, Ray" Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/XhciDxe: Retry device slot init on failure Thread-Topic: [edk2-devel] [PATCH] MdeModulePkg/XhciDxe: Retry device slot init on failure Thread-Index: AQHWp8EpkR/mfPS+y0246NywgHCuvqmizDqAgAAh+1CAAGGDgIAAVzcAgAC3AvCAAATfgIAABQUA Date: Fri, 23 Oct 2020 01:27:53 +0000 Message-ID: References: <040616b6-c7e9-d28d-69ac-bccb406d4730@nvidia.com> <206d9891-152b-3954-1b61-bf144cab4ed5@nvidia.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.198] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 54af39ae-2d51-4d3b-ba4e-08d876f2dd50 x-ms-traffictypediagnostic: MWHPR11MB2048: 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: LJdXn0L5j4nA46U9kW86BZTCkC28vo+2FmZ596jMWFrIniKSSK8t+i8a6FNSj0cUfe9svMhLCIOQsxLiXb8d/XiJBNF3PbRLgaB1Gja8xkLRC5ae8QZ5jtY0wK+YrxzwmOQV+eqvjRVrWqD0iXjWF6NkOiEFC0mgCOI6UpwtP5KQLJTUFYUWtcXN6OyabkHa0s+jQu3LMgG9qHhSGd267emO1mMfDa9MnI9W2brqYa7/AOIpcOnma4GBHJG59VVWlQKTI346vX3/4nhmbKldJBWn6OcD3QEsKvkOx+iUbanxsaW8WkVn7bu/YiABgZOJU4yKPQuhBAafrXP+6IHDJrzWsfQ9NHyQt/ES+0hmO/b46AyLwomz/kE/nJwp9XIeVool8fhnFHIw6Zzs2ciWIQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR11MB1805.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(136003)(366004)(39860400002)(346002)(376002)(8676002)(186003)(66946007)(2906002)(8936002)(55016002)(7696005)(19627235002)(6506007)(53546011)(76116006)(52536014)(66476007)(478600001)(33656002)(86362001)(107886003)(83380400001)(966005)(5660300002)(110136005)(316002)(66556008)(26005)(9686003)(64756008)(71200400001)(4326008)(66446008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: Fe7/sA+ISIIar6ik7OZqjRMKgPSvTysBJnDMaAW/LUnKhHqbcWJ+bB0uQTClTeX0Edr3rgFugoyn3/WC+EKbByYdAUprh5hipNOMC7Fhb8ojxRzCLsUmmuGg4MRHDzM0X5uuyZ/gWLvWnhbEcPYl7AzbqtiEQx4SH5xGSDjKdJ+K5n/qRJDgEYPtCTyiukg3CBGxzmX9FhrQtjqBJM+F/KPcrLf1RdnjGWG9TezNmMZRlCWSjrKxs0E5GOXgWfaZZwrCkl+oYaGBOFcyK4MMeJ1ubUwpFLWQcJk9+kwDfeniSN1xKT53gTIL2ZB251umQek31wAu+KpogTY80DVZtc73Wjc8qG/q93FqJFybF7QR5MQimTM8EzUhp+nJVPK7QWSIcw8BzqwVXv5hy5qE4SLeSX65EfT+fbWOzRPWJ1Zu+IIBhaHpQLCPLNzTYFFcQK/J/XVokvAaPvdmiJ6V0zZmJwZgTzYXfEKkPedF512PxI39ueHyfPvakzg+O+a/uhAk4NQu1pEM6AuPYBeqIP0hYW5lrC0Pl31ShyOlamahP856W+DJgJY//fPWJaAZdr+sBsF0bxFh0mzmrb9pC7d5R78mqdEERuTT79gyKZ3ok4mcL9WjvBM27Qhi42yEeCAmsfzZHe6hwxbGt7b/HA== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR11MB1805.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 54af39ae-2d51-4d3b-ba4e-08d876f2dd50 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Oct 2020 01:27:53.8434 (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: IRmIJfdwd/uHEXxVXgz5msYYl7Bh1PEhmRco4RGu6kZf4abrbeAeHkT4KNszJCJR9uKz29olm5LmHE8wk96jzA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB2048 Return-Path: heng.luo@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 U3VyZSwgSSB3aWxsIHNlbmQgb3V0IHBhdGNoIFY0Lg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+IEZyb206IFd1LCBIYW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPg0KPiBTZW50OiBG cmlkYXksIE9jdG9iZXIgMjMsIDIwMjAgOToxMCBBTQ0KPiBUbzogTHVvLCBIZW5nIDxoZW5nLmx1 b0BpbnRlbC5jb20+OyBKb24gSHVudGVyIDxqb25hdGhhbmhAbnZpZGlhLmNvbT47DQo+IGRldmVs QGVkazIuZ3JvdXBzLmlvOyBqYnJhc2VuQG52aWRpYS5jb20NCj4gQ2M6IE5pLCBSYXkgPHJheS5u aUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBNZGVNb2R1 bGVQa2cvWGhjaUR4ZTogUmV0cnkgZGV2aWNlIHNsb3QNCj4gaW5pdCBvbiBmYWlsdXJlDQo+IA0K PiBIZWxsbyBIZW5nIGFuZCBKb24sDQo+IA0KPiBGb3IgdGhlIHBhdGNoIHByb3ZpZGVkIGJ5IEhl bmc6DQo+IEl0IGRlYWxzIHdpdGggdGhlIGlzc3VlIHRoYXQgd2hlbiB0aGUgaW5pdGlhbGl6YXRp b24gb2YgYSBkZXZpY2Ugc2xvdCBmYWlscyBmb3IgYW4NCj4gdW53b3JrYWJsZSBkZXZpY2UgKGV2 ZW4gYWZ0ZXIgcmV0cnkpLiBUaGUgZml4IGFkZHMgYSBjYWxsIHRvDQo+IFhoY0Rpc2FibGVTbG90 Q21kKDY0KSB0byBkaXNhYmxlIHRoZSBzbG90IGFuZCBmcmVlIHRoZSByZXNvdXJjZXMgbWFuYWdl ZA0KPiBieSB0aGUgZHJpdmVyIHNvIHRoYXQgdGhlIGVudW1lcmF0aW9uIG9mIHRoZSBuZXh0IHBv cnQgd29uJ3QgYmUgYWZmZWN0ZWQuDQo+IA0KPiBGb3IgdGhlIHBhdGNoIHByb3ZpZGVkIGJ5IEpv bjoNCj4gSXQgYWRkcyBhIHJldHJ5IHNjaGVtZSBmb3IgdGhlIGRldmljZSBzbG90IGluaXRpYWxp emF0aW9uLCB3aGljaCB3aWxsIGludm9sdmUgYQ0KPiBjYWxsIHRvIFhoY0Rpc2FibGVTbG90Q21k KDY0KSBkdXJpbmcgdGhlIHJldHJ5Lg0KPiANCj4gU2luY2UgYm90aCBvZiB0aGUgcGF0Y2hlcyB3 aWxsIGludHJvZHVjZSBhIGNhbGwgWGhjRGlzYWJsZVNsb3RDbWQoNjQpIGFmdGVyDQo+IHRoZSBz bG90IGluaXRpYWxpemF0aW9uIGZhaWxzLCBqdXN0IHdhbnQgdG8gc3luYyB3aXRoIHlvdSB0byBl bnN1cmUNCj4gWGhjRGlzYWJsZVNsb3RDbWQoNjQpIGlzIG9ubHkgY2FsbGVkIG9uY2UgdXBvbiBm YWlsdXJlLg0KPiANCj4gSSBhZ3JlZSB3aXRoIEpvbidzIHByb3Bvc2FsIHRvIHJlYmFzZSBKb24n cyBwYXRjaCBvbiB0aGUgYmFzZSBvZiBIZW5nJ3MgcGF0Y2guDQo+IFNvIEhlbmcsIGNvdWxkIHlv dSBoZWxwIHRvIHN1Ym1pdCBhIG5ldyB2ZXJzaW9uIG9mIHlvdXIgcGF0Y2ggdG8gbGV0IHRoZQ0K PiByZXR1cm4gdmFsdWUgb2YgZnVuY3Rpb24gWGhjSW5pdGlhbGl6ZURldmljZVNsb3QoNjQpIG5v dCBkZXBlbmQgb24gdGhlIHJlc3VsdA0KPiBvZiBYaGNEaXNhYmxlU2xvdENtZCg2NCksIGJ1dCBv biB0aGUgcmVzdWx0IG9mIHdoZXRoZXIgdGhlIGRldmljZSBzbG90IGlzDQo+IHN1Y2Nlc3NmdWxs eSBpbml0aWFsaXplZDoNCj4gDQo+ICAgfSBlbHNlIHsNCj4gICAgIERFQlVHICgoREVCVUdfSU5G TywgIiAgICBBZGRyZXNzICVkIGFzc2lnbmVkIHVuc3VjY2Vzc2Z1bGx5XG4iKSk7DQo+ICAgICBY aGNEaXNhYmxlU2xvdENtZCg2NCkgKFhoYywgU2xvdElkKTsNCj4gICB9DQo+IA0KPiBJIHRoaW5r IGRvaW5nIHNvIHdpbGwgbm90IGJsb2NrIHRoZSByZXRyeSBzY2hlbWUgaW50cm9kdWNlZCBpbiBK b24ncyBwYXRjaC4NCj4gVGhhbmtzIGluIGFkdmFuY2UuDQo+IA0KPiBCZXN0IFJlZ2FyZHMsDQo+ IEhhbyBXdQ0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IEx1 bywgSGVuZyA8aGVuZy5sdW9AaW50ZWwuY29tPg0KPiA+IFNlbnQ6IEZyaWRheSwgT2N0b2JlciAy MywgMjAyMCA4OjU0IEFNDQo+ID4gVG86IEpvbiBIdW50ZXIgPGpvbmF0aGFuaEBudmlkaWEuY29t PjsgV3UsIEhhbyBBDQo+IDxoYW8uYS53dUBpbnRlbC5jb20+Ow0KPiA+IGRldmVsQGVkazIuZ3Jv dXBzLmlvOyBqYnJhc2VuQG52aWRpYS5jb20NCj4gPiBDYzogTmksIFJheSA8cmF5Lm5pQGludGVs LmNvbT4NCj4gPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSF0gTWRlTW9kdWxlUGtn L1hoY2lEeGU6IFJldHJ5IGRldmljZQ0KPiA+IHNsb3QgaW5pdCBvbiBmYWlsdXJlDQo+ID4NCj4g PiBIaSBKb24sDQo+ID4gVGhhbmsgIHlvdSBmb3IgeW91IHRlc3RpbmcuDQo+ID4gSW4gbXkgcGF0 Y2gsIGl0IGRvZXMgbm90IHRyeSBhZ2FpbiBpZiBzbG90IGluaXQgZmFpbHVyZSwgdGhlIGZhaWxl ZA0KPiA+IGRldmljZSB3aWxsIGJlIGlnbm9yZWQuDQo+ID4gQ3VycmVudGx5IHRoZSBmaXJzdCBm YWlsdXJlIHdpbGwgYWZmZWN0IG5leHQgZGV2aWNlcywgbmV4dCBkZXZpY2VzDQo+ID4gd2lsbCBu b3QgYmUgaW5pdGlhbGl6ZWQgc3VjY2Vzc2Z1bGx5LCBteSBwYXRjaCBpcyB0byBmaXggdGhpcyBi dWcuDQo+ID4gSSB0aGluayB0aGlzIHR3byBwYXRjaGVzIGFyZSB0byByZXNvbHZlIGRpZmZlcmVu dCBwcm9ibGVtcywgYm90aA0KPiA+IGNoYW5nZXMgYXJlIG5lZWRlZC4NCj4gPg0KPiA+IFRoYW5r LA0KPiA+IEhlbmcNCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ IEZyb206IEpvbiBIdW50ZXIgPGpvbmF0aGFuaEBudmlkaWEuY29tPg0KPiA+ID4gU2VudDogVGh1 cnNkYXksIE9jdG9iZXIgMjIsIDIwMjAgOTo1NyBQTQ0KPiA+ID4gVG86IEx1bywgSGVuZyA8aGVu Zy5sdW9AaW50ZWwuY29tPjsgV3UsIEhhbyBBIDxoYW8uYS53dUBpbnRlbC5jb20+Ow0KPiA+ID4g ZGV2ZWxAZWRrMi5ncm91cHMuaW87IGpicmFzZW5AbnZpZGlhLmNvbQ0KPiA+ID4gQ2M6IE5pLCBS YXkgPHJheS5uaUBpbnRlbC5jb20+DQo+ID4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQ QVRDSF0gTWRlTW9kdWxlUGtnL1hoY2lEeGU6IFJldHJ5IGRldmljZQ0KPiA+ID4gc2xvdCBpbml0 IG9uIGZhaWx1cmUNCj4gPiA+DQo+ID4gPiBIaSBIZW5nLA0KPiA+ID4NCj4gPiA+IE9uIDIyLzEw LzIwMjAgMDk6NDQsIEpvbiBIdW50ZXIgd3JvdGU6DQo+ID4gPiA+IEhpIEhlbmcsDQo+ID4gPiA+ DQo+ID4gPiA+IE9uIDIyLzEwLzIwMjAgMDQ6MDEsIEx1bywgSGVuZyB3cm90ZToNCj4gPiA+ID4+ IEhpIEhhbywNCj4gPiA+ID4+IEkgYXBwbHlpbmcgdGhpcyBwYXRjaCwgaXQgY2Fubm90IGZpeCBC Wg0KPiA+ID4gaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0z MDA3Lg0KPiA+ID4gPg0KPiA+ID4gPiBDYW4geW91IGVsYWJvcmF0ZSBtb3JlIG9uIHdoeSB0aGF0 IGlzPyBVbmZvcnR1bmF0ZWx5LCB5b3VyIHBhdGNoDQo+ID4gPiA+IGRvZXMgbm90IHdvcmsgZm9y IHRoZSBzY2VuYXJpbyB3ZSBhcmUgdGVzdGluZy4NCj4gPiA+ID4NCj4gPiA+ID4gSW4geW91ciBj YXNlIGRvZXMgdGhlIGJhZCBVU0IgZGV2aWNlIG5ldmVyIGVudW1lcmF0ZSBldmVuIG9uIHRoZQ0K PiA+ID4gPiAybmQgYXR0ZW1wdD8NCj4gPiA+ID4NCj4gPiA+ID4gSWYgc28sIHRoZW4gbWF5YmUg d2UgY2FuIGFwcGx5IHlvdXIgcGF0Y2ggdG8gZG8gdGhlIGRpc2FibGUgc2xvdA0KPiA+ID4gPiBh bmQgaW4gb3VyIHBhdGNoIHdlIGp1c3QgdHJ5IHRoZSBkZXZpY2UgaW5pdCBhZ2FpbiBvbmNlLCB3 aXRob3V0DQo+ID4gPiA+IGNhbGxpbmcgdGhlIHNsb3QgZGlzYWJsZSBiZWNhdXNlIHRoYXQgaXMg aGFuZGxlZCBieSB5b3VyIHBhdGNoLg0KPiA+ID4NCj4gPiA+IEFwcGx5aW5nIHRoZSBiZWxvdyBj aGFuZ2Ugb24gdG9wIG9mIHlvdXIgY2hhbmdlLCB3b3JrcyBmb3IgbWUuDQo+ID4gPiBPbmUgY2hh bmdlIGluIHRoZSBiZWxvdyBpcyBub3QgdG8gcmV0dXJuIHRoZSBzdGF0dXMgZnJvbSB0aGUgY2Fs bCB0bw0KPiA+ID4gWGhjRGlzYWJsZVNsb3RDbWQ2NCgpIHdoaWNoIGlzIG5lY2Vzc2FyeSB0byBy ZXRyeSB0aGUgZGV2aWNlDQo+IGluaXRpYWxpc2F0aW9uLg0KPiA+ID4NCj4gPiA+IEpvbg0KPiA+ ID4NCj4gPiA+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvQnVzL1BjaS9YaGNpRHhlL1hoY2lT Y2hlZC5jDQo+ID4gPiBiL01kZU1vZHVsZVBrZy9CdXMvUGNpL1hoY2lEeGUvWGhjaVNjaGVkLmMN Cj4gPiA+IGluZGV4IDIxYmM5Y2UxNzU1Ni4uODJlZmQ0YTAzZjhlIDEwMDY0NA0KPiA+ID4gLS0t IGEvTWRlTW9kdWxlUGtnL0J1cy9QY2kvWGhjaUR4ZS9YaGNpU2NoZWQuYw0KPiA+ID4gKysrIGIv TWRlTW9kdWxlUGtnL0J1cy9QY2kvWGhjaUR4ZS9YaGNpU2NoZWQuYw0KPiA+ID4gQEAgLTE2ODQs OSArMTY4NCwxMSBAQCBYaGNQb2xsUG9ydFN0YXR1c0NoYW5nZSAoDQo+ID4gPiAgICBFRklfU1RB VFVTICAgICAgICBTdGF0dXM7DQo+ID4gPiAgICBVSU5UOCAgICAgICAgICAgICBTcGVlZDsNCj4g PiA+ICAgIFVJTlQ4ICAgICAgICAgICAgIFNsb3RJZDsNCj4gPiA+ICsgIFVJTlQ4ICAgICAgICAg ICAgIFJldHJpZXM7DQo+ID4gPiAgICBVU0JfREVWX1JPVVRFICAgICBSb3V0ZUNoYXJ0Ow0KPiA+ ID4gICAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7DQo+ID4gPiArICBSZXRyaWVzID0gWEhDX0lOSVRf REVWSUNFX1NMT1RfUkVUUklFUzsNCj4gPiA+ICAgIGlmICgoUG9ydFN0YXRlLT5Qb3J0Q2hhbmdl U3RhdHVzICYgKFVTQl9QT1JUX1NUQVRfQ19DT05ORUNUSU9OIHwNCj4gPiA+IFVTQl9QT1JUX1NU QVRfQ19FTkFCTEUgfCBVU0JfUE9SVF9TVEFUX0NfT1ZFUkNVUlJFTlQgfA0KPiA+ID4gVVNCX1BP UlRfU1RBVF9DX1JFU0VUKSkgPT0gMCkgew0KPiA+ID4gICAgICByZXR1cm4gRUZJX1NVQ0NFU1M7 DQo+ID4gPiBAQCAtMTcyOCwxNyArMTczMCwyOSBAQCBYaGNQb2xsUG9ydFN0YXR1c0NoYW5nZSAo DQo+ID4gPiAgICAgIH0gZWxzZSBpZiAoKFBvcnRTdGF0ZS0+UG9ydFN0YXR1cyAmIFVTQl9QT1JU X1NUQVRfU1VQRVJfU1BFRUQpDQo+ID4gPiAhPSAwKQ0KPiA+IHsNCj4gPiA+ICAgICAgICBTcGVl ZCA9IEVGSV9VU0JfU1BFRURfU1VQRVI7DQo+ID4gPiAgICAgIH0NCj4gPiA+IC0gICAgLy8NCj4g PiA+IC0gICAgLy8gRXhlY3V0ZSBFbmFibGVfU2xvdCBjbWQgZm9yIGF0dGFjaGVkIGRldmljZSwg aW5pdGlhbGl6ZSBkZXZpY2UNCj4gY29udGV4dA0KPiA+ID4gYW5kIGFzc2lnbiBkZXZpY2UgYWRk cmVzcy4NCj4gPiA+IC0gICAgLy8NCj4gPiA+IC0gICAgU2xvdElkID0gWGhjUm91dGVTdHJpbmdU b1Nsb3RJZCAoWGhjLCBSb3V0ZUNoYXJ0KTsNCj4gPiA+IC0gICAgaWYgKChTbG90SWQgPT0gMCkg JiYgKChQb3J0U3RhdGUtPlBvcnRDaGFuZ2VTdGF0dXMgJg0KPiA+ID4gVVNCX1BPUlRfU1RBVF9D X1JFU0VUKSAhPSAwKSkgew0KPiA+ID4gLSAgICAgIGlmIChYaGMtPkhjQ1BhcmFtcy5EYXRhLkNz eiA9PSAwKSB7DQo+ID4gPiAtICAgICAgICBTdGF0dXMgPSBYaGNJbml0aWFsaXplRGV2aWNlU2xv dCAoWGhjLCBQYXJlbnRSb3V0ZUNoYXJ0LCBQb3J0LA0KPiA+ID4gUm91dGVDaGFydCwgU3BlZWQp Ow0KPiA+ID4gLSAgICAgIH0gZWxzZSB7DQo+ID4gPiAtICAgICAgICBTdGF0dXMgPSBYaGNJbml0 aWFsaXplRGV2aWNlU2xvdDY0IChYaGMsIFBhcmVudFJvdXRlQ2hhcnQsIFBvcnQsDQo+ID4gPiBS b3V0ZUNoYXJ0LCBTcGVlZCk7DQo+ID4gPiArDQo+ID4gPiArICAgIGRvIHsNCj4gPiA+ICsgICAg ICAvLw0KPiA+ID4gKyAgICAgIC8vIEV4ZWN1dGUgRW5hYmxlX1Nsb3QgY21kIGZvciBhdHRhY2hl ZCBkZXZpY2UsIGluaXRpYWxpemUNCj4gPiA+ICsgZGV2aWNlIGNvbnRleHQNCj4gPiA+IGFuZCBh c3NpZ24gZGV2aWNlIGFkZHJlc3MuDQo+ID4gPiArICAgICAgLy8NCj4gPiA+ICsgICAgICBTbG90 SWQgPSBYaGNSb3V0ZVN0cmluZ1RvU2xvdElkIChYaGMsIFJvdXRlQ2hhcnQpOw0KPiA+ID4gKyAg ICAgIGlmICgoU2xvdElkID09IDApICYmICgoUG9ydFN0YXRlLT5Qb3J0Q2hhbmdlU3RhdHVzICYN Cj4gPiA+IFVTQl9QT1JUX1NUQVRfQ19SRVNFVCkgIT0gMCkpIHsNCj4gPiA+ICsgICAgICAgIGlm IChYaGMtPkhjQ1BhcmFtcy5EYXRhLkNzeiA9PSAwKSB7DQo+ID4gPiArICAgICAgICAgIFN0YXR1 cyA9IFhoY0luaXRpYWxpemVEZXZpY2VTbG90IChYaGMsIFBhcmVudFJvdXRlQ2hhcnQsDQo+ID4g PiArIFBvcnQsDQo+ID4gPiBSb3V0ZUNoYXJ0LCBTcGVlZCk7DQo+ID4gPiArICAgICAgICB9IGVs c2Ugew0KPiA+ID4gKyAgICAgICAgICBTdGF0dXMgPSBYaGNJbml0aWFsaXplRGV2aWNlU2xvdDY0 IChYaGMsDQo+ID4gPiArIFBhcmVudFJvdXRlQ2hhcnQsIFBvcnQsDQo+ID4gPiBSb3V0ZUNoYXJ0 LCBTcGVlZCk7DQo+ID4gPiArICAgICAgICB9DQo+ID4gPiAgICAgICAgfQ0KPiA+ID4gLSAgICB9 DQo+ID4gPiArDQo+ID4gPiArICAgICAgLy8NCj4gPiA+ICsgICAgICAvLyBBY2NvcmRpbmcgdG8g dGhlIHhIQ0kgc3BlY2lmaWNhdGlvbiAoc2VjdGlvbiA0LjYuNSksICJhDQo+ID4gPiArIFVTQg0K PiA+IFRyYW5zYWN0aW9uDQo+ID4gPiArICAgICAgLy8gRXJyb3IgQ29tcGxldGlvbiBDb2RlIGZv ciBhbiBBZGRyZXNzIERldmljZSBDb21tYW5kIG1heSBiZQ0KPiA+ID4gKyBkdWUNCj4gPiA+IHRv IGEgU3RhbGwNCj4gPiA+ICsgICAgICAvLyByZXNwb25zZSBmcm9tIGEgZGV2aWNlLiBTb2Z0d2Fy ZSBzaG91bGQgaXNzdWUgYSBEaXNhYmxlDQo+ID4gPiArIFNsb3QNCj4gPiA+IENvbW1hbmQgZm9y DQo+ID4gPiArICAgICAgLy8gdGhlIERldmljZSBTbG90IHRoZW4gYW4gRW5hYmxlIFNsb3QgQ29t bWFuZCB0byByZWNvdmVyDQo+ID4gPiArIGZyb20gdGhpcw0KPiA+ID4gZXJyb3IuIg0KPiA+ID4g KyAgICAgIC8vIFRoZXJlZm9yZSwgcmV0cnkgdGhlIGRldmljZSBzbG90IGluaXRpYWxpemF0aW9u IGlmIGl0IGZhaWxzIGR1ZSB0byBhDQo+ID4gPiArICAgICAgLy8gZGV2aWNlIGVycm9yLg0KPiA+ ID4gKyAgICAgIC8vDQo+ID4gPiArICAgIH0gd2hpbGUgKChTdGF0dXMgPT0gRUZJX0RFVklDRV9F UlJPUikgJiYgKFJldHJpZXMtLSkpOw0KPiA+ID4gICAgfQ0KPiA+ID4gICAgcmV0dXJuIFN0YXR1 czsNCj4gPiA+IEBAIC0yMjQ4LDcgKzIyNjIsNyBAQCBYaGNJbml0aWFsaXplRGV2aWNlU2xvdCAo DQo+ID4gPiAgICAgIFhoYy0+VXNiRGV2Q29udGV4dFtTbG90SWRdLlhoY2lEZXZBZGRyID0gRGV2 aWNlQWRkcmVzczsNCj4gPiA+ICAgIH0gZWxzZSB7DQo+ID4gPiAgICAgIERFQlVHICgoREVCVUdf SU5GTywgIiAgICBBZGRyZXNzICVkIGFzc2lnbmVkIHVuc3VjY2Vzc2Z1bGx5XG4iKSk7DQo+ID4g PiAtICAgIFN0YXR1cyA9IFhoY0Rpc2FibGVTbG90Q21kIChYaGMsIFNsb3RJZCk7DQo+ID4gPiAr ICAgIFhoY0Rpc2FibGVTbG90Q21kIChYaGMsIFNsb3RJZCk7DQo+ID4gPiAgICB9DQo+ID4gPiAg ICByZXR1cm4gU3RhdHVzOw0KPiA+ID4gQEAgLTI0NjEsNyArMjQ3NSw3IEBAIFhoY0luaXRpYWxp emVEZXZpY2VTbG90NjQgKA0KPiA+ID4gICAgICBYaGMtPlVzYkRldkNvbnRleHRbU2xvdElkXS5Y aGNpRGV2QWRkciA9IERldmljZUFkZHJlc3M7DQo+ID4gPiAgICB9IGVsc2Ugew0KPiA+ID4gICAg ICBERUJVRyAoKERFQlVHX0lORk8sICIgICAgQWRkcmVzcyAlZCBhc3NpZ25lZCB1bnN1Y2Nlc3Nm dWxseVxuIikpOw0KPiA+ID4gLSAgICBTdGF0dXMgPSBYaGNEaXNhYmxlU2xvdENtZDY0IChYaGMs IFNsb3RJZCk7DQo+ID4gPiArICAgIFhoY0Rpc2FibGVTbG90Q21kNjQgKFhoYywgU2xvdElkKTsN Cj4gPiA+ICAgIH0NCj4gPiA+ICAgIHJldHVybiBTdGF0dXM7DQo+ID4gPiBkaWZmIC0tZ2l0IGEv TWRlTW9kdWxlUGtnL0J1cy9QY2kvWGhjaUR4ZS9YaGNpU2NoZWQuaA0KPiA+ID4gYi9NZGVNb2R1 bGVQa2cvQnVzL1BjaS9YaGNpRHhlL1hoY2lTY2hlZC5oDQo+ID4gPiBpbmRleCAyZjE4OTk1MDIx NTEuLjNmOWNkYjFjMzYwOSAxMDA2NDQNCj4gPiA+IC0tLSBhL01kZU1vZHVsZVBrZy9CdXMvUGNp L1hoY2lEeGUvWGhjaVNjaGVkLmgNCj4gPiA+ICsrKyBiL01kZU1vZHVsZVBrZy9CdXMvUGNpL1ho Y2lEeGUvWGhjaVNjaGVkLmgNCj4gPiA+IEBAIC0xMSw2ICsxMSw3IEBAIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gPiAjZGVmaW5lIF9FRklfWEhDSV9T Q0hFRF9IXw0KPiA+ID4gICNkZWZpbmUgWEhDX1VSQl9TSUcgICAgICBTSUdOQVRVUkVfMzIgKCdV JywgJ1MnLCAnQicsICdSJykNCj4gPiA+ICsjZGVmaW5lIFhIQ19JTklUX0RFVklDRV9TTE9UX1JF VFJJRVMgMQ0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4N Cj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiAt LQ0KPiA+ID4gbnZwdWJsaWMNCg==