From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web11.2313.1603415374990142331 for ; Thu, 22 Oct 2020 18:09:35 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=baYmbC3A; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: hao.a.wu@intel.com) IronPort-SDR: 3ieZgCku0vOagwae0vKMgMx6UNi0YRBH/xxaqpK8IplbDwxeNR+LmpQgmCrMmwuiLT/4PRN+5l NMPAR6Y3yEUQ== X-IronPort-AV: E=McAfee;i="6000,8403,9782"; a="185306847" X-IronPort-AV: E=Sophos;i="5.77,404,1596524400"; d="scan'208";a="185306847" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Oct 2020 18:09:34 -0700 IronPort-SDR: Ehs675unoOmqaHf+ZS23F7e9Gy0lA/jJEFxROpJHvI/6iVSsQnhvJ+8B53pKMF7n9AsxCK5kVc /nzzYj2dfbVw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,404,1596524400"; d="scan'208";a="316919733" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga003.jf.intel.com with ESMTP; 22 Oct 2020 18:09:33 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX602.amr.corp.intel.com (10.22.229.15) 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:09:33 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX608.amr.corp.intel.com (10.22.229.21) 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:09:33 -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:09:33 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.101) 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:09:32 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YBumZl7PLHADTWIrcuGbo7SyRekk3C61LcyWJvUWVTaShq0s/3GBsZTiwLILKoskpMwdxcBbOhiV5fv3VXKFdlOfNGSqk2ETLiZrwHaQzLpL/USZlm6ZZnFpcpc89H7POigbfQp5VKuet9YF2u/l1ZagscL412o2KLCpM3MFz4g8N8MDbWklkcS968SvENTMlm1de5xmFcB96d+YptFa8wLaK3bedECCTQ4E+5EKkUbK7SVe/GHBA6G7Uo/ylYT92RqaOeGAZrnG18nwmf6HT5+Xi136UYqhIAxbolag+Q4YoQHqqik/6sDU8IaIHYvqwcbSsfnlRY+8ZeVbN1iBVQ== 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=mrzxAtyvViqJWGlAY/z/vuDQsN+vUebJ/DcdOmUho9c=; b=ET8Jy6nO31W/IDExAn6JbldVuUM33PDA+/CwkQJrzdeemfkmdK+Uqb8GVMMayUgicURkCILWkOTyt0NqE4iUynY1r815Ot7x1PyuWOH5SUOWLrPSRASyL+kkhdn4QuLF/4MeUyYFo/4oW6Eej2wl6hNcntCKV0l3EivfQebCAuiIj0qFaAJPnhktY7VVxiP2shLWD0pPwH7zKdfzYRxtP8R2ceYjV2C+mUD8ZgriPVMdgnh4rm2Oo9MUoYzP2HskxnfORMARDXLNtNMdY1XOB3iheBqzPTMh42lwBFbXZrdry2vzMZ/JOxwh0/K8mwmnG+mCXEMm0RnWZALoJYeDbg== 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=mrzxAtyvViqJWGlAY/z/vuDQsN+vUebJ/DcdOmUho9c=; b=baYmbC3AB6/72w+SYOJ6KFpW3x4AHj8U8fvCg1PpKIDO2cbNqAIdxYsgJ+hOcOqO+A02vWlLRoQvXM/906O/wuOSpsVIPhVvIAZaxD1vKaUXISVjQlGfo3QBqNshVnmlysz3/P0AyJFtwsr9xKX1IYI1HYzlt8c7VVW0d++sn24= Received: from BN8PR11MB3666.namprd11.prod.outlook.com (2603:10b6:408:8c::19) by BN6PR11MB4036.namprd11.prod.outlook.com (2603:10b6:405:82::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.20; Fri, 23 Oct 2020 01:09:31 +0000 Received: from BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::c123:faac:1da3:f807]) by BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::c123:faac:1da3:f807%5]) with mapi id 15.20.3477.028; Fri, 23 Oct 2020 01:09:31 +0000 From: "Wu, Hao A" To: "Luo, Heng" , 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: AQHWp8EllGnyZlgxiEmc4jnJaMZE56miyweggAAknwCAAGASgIAAVzcAgAC3bACAAADisA== Date: Fri, 23 Oct 2020 01:09:31 +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, 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: 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.218] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 87080a0d-9bd2-4af2-2819-08d876f04c51 x-ms-traffictypediagnostic: BN6PR11MB4036: 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: YJGkA9X3YlvLqhwuA0GBK3hk6q5GxkBBv12c2hoYrjGkpzTCZkk5H3XeiDAkNsmGF1gRN0UgfpyXWAXftryIuuiwChqjWhNyGexA+HNRGnMdWTNROcAajkzFo5xkrr9E6DVT+JsAPOW7Qrs32bzdfJjuWzPR+HVUA11pckr6sWmMY19WYuB45BSJmux21dJX32lu2/gdFtgg8SST5eqkY+HxmoCntHQiYw0uBNmbwieNDMNBILv2FoBMKUcv5i5qwGf17AtrMsohs6ISuN+xW8PsvEf+DF17k+1OIbG8Cd4HqZG8wynrl+poYrMmgosA12/1Xpcq5hBE/QUSlTLftU/hZIkcZB5tWZvEM3Al9mDtwpw6FSpXilaVQGxeXjukUkakBHia32DBc5eBAa7JPQ== 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:(4636009)(346002)(376002)(39860400002)(366004)(396003)(136003)(52536014)(110136005)(186003)(478600001)(19627235002)(316002)(71200400001)(107886003)(5660300002)(7696005)(8936002)(55016002)(6506007)(9686003)(86362001)(66556008)(4326008)(66476007)(33656002)(64756008)(76116006)(26005)(66446008)(83380400001)(966005)(66946007)(53546011)(2906002)(8676002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: 4aOMCNM1goTjtXZfRUF2SC8h3spSOGj0HNgcFlhb0vTJlv6Hn+pCzt+pVruV/yNdrflMYsnwuU/hT6Lhqf6CnhQVdUZwJwumcwNCEd93+hAgjyGU9sdYjMRAfKZnGqiJBSjCvyNZ/3TBDEBjK07upjf4xAcbOPoLnXA/DLaaGCsi/gN5Cno76Xa7IfogcdCmztw2AW1v0gJUGKBc97TVkeQmB5R96v7IDo75EoWt92anTAESNIY+MpyzxQz49WWoLuzX3V750sU2mHXrZh2rOyamO/4wj6/FBXgWTUAucmEIa20GelkrZJNyr9EB/TCQJiAhLShrFp9ur2BDvxCr1n+4ZfmvSMgOcfQoblk7AYjJh2LbTZwB9Xc4AdvU9UPTTstKwQ9h3gKvdux1myPY5L8iw7Gb2GPc9AoKO2nVUflDdOJnPm3sxo42LBWO6ZIqGTaFQoHL0J4eHWHneNtjjqPz17GSxYHsBLXXvXSQXqItdvg6crTHMJk2w4ogrd5kO6SDVnQJlUcyxr4rxDU2rA5ZeIrUUv3gdkh0eTeNXLq+SwpwfNZO6H4xI1vtB59FKGyEKlzDFSe73/248Fo8AQJGdAdWtXHUqHwgIjljW0JXW2ncYpFJWjDsBGIzIwH/D5L1WYpD+wGK44K9uSh/fA== 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: 87080a0d-9bd2-4af2-2819-08d876f04c51 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Oct 2020 01:09:31.4502 (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: KUBW3crLtxQj7MnDSuds07QZCzlR8TxQAPhOTAyIrquHV2WGUTv3W6rO4Q1Goie+7JTTCR/EWv7PBXr8rnrrzw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB4036 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 SGVsbG8gSGVuZyBhbmQgSm9uLA0KDQpGb3IgdGhlIHBhdGNoIHByb3ZpZGVkIGJ5IEhlbmc6DQpJ dCBkZWFscyB3aXRoIHRoZSBpc3N1ZSB0aGF0IHdoZW4gdGhlIGluaXRpYWxpemF0aW9uIG9mIGEg ZGV2aWNlIHNsb3QgZmFpbHMgZm9yDQphbiB1bndvcmthYmxlIGRldmljZSAoZXZlbiBhZnRlciBy ZXRyeSkuIFRoZSBmaXggYWRkcyBhIGNhbGwgdG8NClhoY0Rpc2FibGVTbG90Q21kKDY0KSB0byBk aXNhYmxlIHRoZSBzbG90IGFuZCBmcmVlIHRoZSByZXNvdXJjZXMgbWFuYWdlZCBieSB0aGUNCmRy aXZlciBzbyB0aGF0IHRoZSBlbnVtZXJhdGlvbiBvZiB0aGUgbmV4dCBwb3J0IHdvbid0IGJlIGFm ZmVjdGVkLg0KDQpGb3IgdGhlIHBhdGNoIHByb3ZpZGVkIGJ5IEpvbjoNCkl0IGFkZHMgYSByZXRy eSBzY2hlbWUgZm9yIHRoZSBkZXZpY2Ugc2xvdCBpbml0aWFsaXphdGlvbiwgd2hpY2ggd2lsbCBp bnZvbHZlDQphIGNhbGwgdG8gWGhjRGlzYWJsZVNsb3RDbWQoNjQpIGR1cmluZyB0aGUgcmV0cnku DQoNClNpbmNlIGJvdGggb2YgdGhlIHBhdGNoZXMgd2lsbCBpbnRyb2R1Y2UgYSBjYWxsIFhoY0Rp c2FibGVTbG90Q21kKDY0KSBhZnRlciB0aGUNCnNsb3QgaW5pdGlhbGl6YXRpb24gZmFpbHMsIGp1 c3Qgd2FudCB0byBzeW5jIHdpdGggeW91IHRvIGVuc3VyZQ0KWGhjRGlzYWJsZVNsb3RDbWQoNjQp IGlzIG9ubHkgY2FsbGVkIG9uY2UgdXBvbiBmYWlsdXJlLg0KDQpJIGFncmVlIHdpdGggSm9uJ3Mg cHJvcG9zYWwgdG8gcmViYXNlIEpvbidzIHBhdGNoIG9uIHRoZSBiYXNlIG9mIEhlbmcncyBwYXRj aC4NClNvIEhlbmcsIGNvdWxkIHlvdSBoZWxwIHRvIHN1Ym1pdCBhIG5ldyB2ZXJzaW9uIG9mIHlv dXIgcGF0Y2ggdG8gbGV0IHRoZSByZXR1cm4NCnZhbHVlIG9mIGZ1bmN0aW9uIFhoY0luaXRpYWxp emVEZXZpY2VTbG90KDY0KSBub3QgZGVwZW5kIG9uIHRoZSByZXN1bHQgb2YNClhoY0Rpc2FibGVT bG90Q21kKDY0KSwgYnV0IG9uIHRoZSByZXN1bHQgb2Ygd2hldGhlciB0aGUgZGV2aWNlIHNsb3Qg aXMNCnN1Y2Nlc3NmdWxseSBpbml0aWFsaXplZDoNCg0KICB9IGVsc2Ugew0KICAgIERFQlVHICgo REVCVUdfSU5GTywgIiAgICBBZGRyZXNzICVkIGFzc2lnbmVkIHVuc3VjY2Vzc2Z1bGx5XG4iKSk7 DQogICAgWGhjRGlzYWJsZVNsb3RDbWQoNjQpIChYaGMsIFNsb3RJZCk7DQogIH0NCiAgDQpJIHRo aW5rIGRvaW5nIHNvIHdpbGwgbm90IGJsb2NrIHRoZSByZXRyeSBzY2hlbWUgaW50cm9kdWNlZCBp biBKb24ncyBwYXRjaC4NClRoYW5rcyBpbiBhZHZhbmNlLg0KDQpCZXN0IFJlZ2FyZHMsDQpIYW8g V3UNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMdW8sIEhlbmcgPGhl bmcubHVvQGludGVsLmNvbT4NCj4gU2VudDogRnJpZGF5LCBPY3RvYmVyIDIzLCAyMDIwIDg6NTQg QU0NCj4gVG86IEpvbiBIdW50ZXIgPGpvbmF0aGFuaEBudmlkaWEuY29tPjsgV3UsIEhhbyBBIDxo YW8uYS53dUBpbnRlbC5jb20+Ow0KPiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgamJyYXNlbkBudmlk aWEuY29tDQo+IENjOiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSRTog W2VkazItZGV2ZWxdIFtQQVRDSF0gTWRlTW9kdWxlUGtnL1hoY2lEeGU6IFJldHJ5IGRldmljZQ0K PiBzbG90IGluaXQgb24gZmFpbHVyZQ0KPiANCj4gSGkgSm9uLA0KPiBUaGFuayAgeW91IGZvciB5 b3UgdGVzdGluZy4NCj4gSW4gbXkgcGF0Y2gsIGl0IGRvZXMgbm90IHRyeSBhZ2FpbiBpZiBzbG90 IGluaXQgZmFpbHVyZSwgdGhlIGZhaWxlZCBkZXZpY2Ugd2lsbCBiZQ0KPiBpZ25vcmVkLg0KPiBD dXJyZW50bHkgdGhlIGZpcnN0IGZhaWx1cmUgd2lsbCBhZmZlY3QgbmV4dCBkZXZpY2VzLCBuZXh0 IGRldmljZXMgd2lsbCBub3QgYmUNCj4gaW5pdGlhbGl6ZWQgc3VjY2Vzc2Z1bGx5LCBteSBwYXRj aCBpcyB0byBmaXggdGhpcyBidWcuDQo+IEkgdGhpbmsgdGhpcyB0d28gcGF0Y2hlcyBhcmUgdG8g cmVzb2x2ZSBkaWZmZXJlbnQgcHJvYmxlbXMsIGJvdGggY2hhbmdlcyBhcmUNCj4gbmVlZGVkLg0K PiANCj4gVGhhbmssDQo+IEhlbmcNCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gPiBGcm9tOiBKb24gSHVudGVyIDxqb25hdGhhbmhAbnZpZGlhLmNvbT4NCj4gPiBTZW50OiBU aHVyc2RheSwgT2N0b2JlciAyMiwgMjAyMCA5OjU3IFBNDQo+ID4gVG86IEx1bywgSGVuZyA8aGVu Zy5sdW9AaW50ZWwuY29tPjsgV3UsIEhhbyBBIDxoYW8uYS53dUBpbnRlbC5jb20+Ow0KPiA+IGRl dmVsQGVkazIuZ3JvdXBzLmlvOyBqYnJhc2VuQG52aWRpYS5jb20NCj4gPiBDYzogTmksIFJheSA8 cmF5Lm5pQGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSF0g TWRlTW9kdWxlUGtnL1hoY2lEeGU6IFJldHJ5IGRldmljZQ0KPiA+IHNsb3QgaW5pdCBvbiBmYWls dXJlDQo+ID4NCj4gPiBIaSBIZW5nLA0KPiA+DQo+ID4gT24gMjIvMTAvMjAyMCAwOTo0NCwgSm9u IEh1bnRlciB3cm90ZToNCj4gPiA+IEhpIEhlbmcsDQo+ID4gPg0KPiA+ID4gT24gMjIvMTAvMjAy MCAwNDowMSwgTHVvLCBIZW5nIHdyb3RlOg0KPiA+ID4+IEhpIEhhbywNCj4gPiA+PiBJIGFwcGx5 aW5nIHRoaXMgcGF0Y2gsIGl0IGNhbm5vdCBmaXggQloNCj4gPiBodHRwczovL2J1Z3ppbGxhLnRp YW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTMwMDcuDQo+ID4gPg0KPiA+ID4gQ2FuIHlvdSBl bGFib3JhdGUgbW9yZSBvbiB3aHkgdGhhdCBpcz8gVW5mb3J0dW5hdGVseSwgeW91ciBwYXRjaA0K PiA+ID4gZG9lcyBub3Qgd29yayBmb3IgdGhlIHNjZW5hcmlvIHdlIGFyZSB0ZXN0aW5nLg0KPiA+ ID4NCj4gPiA+IEluIHlvdXIgY2FzZSBkb2VzIHRoZSBiYWQgVVNCIGRldmljZSBuZXZlciBlbnVt ZXJhdGUgZXZlbiBvbiB0aGUgMm5kDQo+ID4gPiBhdHRlbXB0Pw0KPiA+ID4NCj4gPiA+IElmIHNv LCB0aGVuIG1heWJlIHdlIGNhbiBhcHBseSB5b3VyIHBhdGNoIHRvIGRvIHRoZSBkaXNhYmxlIHNs b3QgYW5kDQo+ID4gPiBpbiBvdXIgcGF0Y2ggd2UganVzdCB0cnkgdGhlIGRldmljZSBpbml0IGFn YWluIG9uY2UsIHdpdGhvdXQgY2FsbGluZw0KPiA+ID4gdGhlIHNsb3QgZGlzYWJsZSBiZWNhdXNl IHRoYXQgaXMgaGFuZGxlZCBieSB5b3VyIHBhdGNoLg0KPiA+DQo+ID4gQXBwbHlpbmcgdGhlIGJl bG93IGNoYW5nZSBvbiB0b3Agb2YgeW91ciBjaGFuZ2UsIHdvcmtzIGZvciBtZS4NCj4gPiBPbmUg Y2hhbmdlIGluIHRoZSBiZWxvdyBpcyBub3QgdG8gcmV0dXJuIHRoZSBzdGF0dXMgZnJvbSB0aGUg Y2FsbCB0bw0KPiA+IFhoY0Rpc2FibGVTbG90Q21kNjQoKSB3aGljaCBpcyBuZWNlc3NhcnkgdG8g cmV0cnkgdGhlIGRldmljZSBpbml0aWFsaXNhdGlvbi4NCj4gPg0KPiA+IEpvbg0KPiA+DQo+ID4g ZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9CdXMvUGNpL1hoY2lEeGUvWGhjaVNjaGVkLmMNCj4g PiBiL01kZU1vZHVsZVBrZy9CdXMvUGNpL1hoY2lEeGUvWGhjaVNjaGVkLmMNCj4gPiBpbmRleCAy MWJjOWNlMTc1NTYuLjgyZWZkNGEwM2Y4ZSAxMDA2NDQNCj4gPiAtLS0gYS9NZGVNb2R1bGVQa2cv QnVzL1BjaS9YaGNpRHhlL1hoY2lTY2hlZC5jDQo+ID4gKysrIGIvTWRlTW9kdWxlUGtnL0J1cy9Q Y2kvWGhjaUR4ZS9YaGNpU2NoZWQuYw0KPiA+IEBAIC0xNjg0LDkgKzE2ODQsMTEgQEAgWGhjUG9s bFBvcnRTdGF0dXNDaGFuZ2UgKA0KPiA+ICAgIEVGSV9TVEFUVVMgICAgICAgIFN0YXR1czsNCj4g PiAgICBVSU5UOCAgICAgICAgICAgICBTcGVlZDsNCj4gPiAgICBVSU5UOCAgICAgICAgICAgICBT bG90SWQ7DQo+ID4gKyAgVUlOVDggICAgICAgICAgICAgUmV0cmllczsNCj4gPiAgICBVU0JfREVW X1JPVVRFICAgICBSb3V0ZUNoYXJ0Ow0KPiA+ICAgIFN0YXR1cyA9IEVGSV9TVUNDRVNTOw0KPiA+ ICsgIFJldHJpZXMgPSBYSENfSU5JVF9ERVZJQ0VfU0xPVF9SRVRSSUVTOw0KPiA+ICAgIGlmICgo UG9ydFN0YXRlLT5Qb3J0Q2hhbmdlU3RhdHVzICYgKFVTQl9QT1JUX1NUQVRfQ19DT05ORUNUSU9O IHwNCj4gPiBVU0JfUE9SVF9TVEFUX0NfRU5BQkxFIHwgVVNCX1BPUlRfU1RBVF9DX09WRVJDVVJS RU5UIHwNCj4gPiBVU0JfUE9SVF9TVEFUX0NfUkVTRVQpKSA9PSAwKSB7DQo+ID4gICAgICByZXR1 cm4gRUZJX1NVQ0NFU1M7DQo+ID4gQEAgLTE3MjgsMTcgKzE3MzAsMjkgQEAgWGhjUG9sbFBvcnRT dGF0dXNDaGFuZ2UgKA0KPiA+ICAgICAgfSBlbHNlIGlmICgoUG9ydFN0YXRlLT5Qb3J0U3RhdHVz ICYgVVNCX1BPUlRfU1RBVF9TVVBFUl9TUEVFRCkgIT0gMCkNCj4gew0KPiA+ICAgICAgICBTcGVl ZCA9IEVGSV9VU0JfU1BFRURfU1VQRVI7DQo+ID4gICAgICB9DQo+ID4gLSAgICAvLw0KPiA+IC0g ICAgLy8gRXhlY3V0ZSBFbmFibGVfU2xvdCBjbWQgZm9yIGF0dGFjaGVkIGRldmljZSwgaW5pdGlh bGl6ZSBkZXZpY2UgY29udGV4dA0KPiA+IGFuZCBhc3NpZ24gZGV2aWNlIGFkZHJlc3MuDQo+ID4g LSAgICAvLw0KPiA+IC0gICAgU2xvdElkID0gWGhjUm91dGVTdHJpbmdUb1Nsb3RJZCAoWGhjLCBS b3V0ZUNoYXJ0KTsNCj4gPiAtICAgIGlmICgoU2xvdElkID09IDApICYmICgoUG9ydFN0YXRlLT5Q b3J0Q2hhbmdlU3RhdHVzICYNCj4gPiBVU0JfUE9SVF9TVEFUX0NfUkVTRVQpICE9IDApKSB7DQo+ ID4gLSAgICAgIGlmIChYaGMtPkhjQ1BhcmFtcy5EYXRhLkNzeiA9PSAwKSB7DQo+ID4gLSAgICAg ICAgU3RhdHVzID0gWGhjSW5pdGlhbGl6ZURldmljZVNsb3QgKFhoYywgUGFyZW50Um91dGVDaGFy dCwgUG9ydCwNCj4gPiBSb3V0ZUNoYXJ0LCBTcGVlZCk7DQo+ID4gLSAgICAgIH0gZWxzZSB7DQo+ ID4gLSAgICAgICAgU3RhdHVzID0gWGhjSW5pdGlhbGl6ZURldmljZVNsb3Q2NCAoWGhjLCBQYXJl bnRSb3V0ZUNoYXJ0LCBQb3J0LA0KPiA+IFJvdXRlQ2hhcnQsIFNwZWVkKTsNCj4gPiArDQo+ID4g KyAgICBkbyB7DQo+ID4gKyAgICAgIC8vDQo+ID4gKyAgICAgIC8vIEV4ZWN1dGUgRW5hYmxlX1Ns b3QgY21kIGZvciBhdHRhY2hlZCBkZXZpY2UsIGluaXRpYWxpemUNCj4gPiArIGRldmljZSBjb250 ZXh0DQo+ID4gYW5kIGFzc2lnbiBkZXZpY2UgYWRkcmVzcy4NCj4gPiArICAgICAgLy8NCj4gPiAr ICAgICAgU2xvdElkID0gWGhjUm91dGVTdHJpbmdUb1Nsb3RJZCAoWGhjLCBSb3V0ZUNoYXJ0KTsN Cj4gPiArICAgICAgaWYgKChTbG90SWQgPT0gMCkgJiYgKChQb3J0U3RhdGUtPlBvcnRDaGFuZ2VT dGF0dXMgJg0KPiA+IFVTQl9QT1JUX1NUQVRfQ19SRVNFVCkgIT0gMCkpIHsNCj4gPiArICAgICAg ICBpZiAoWGhjLT5IY0NQYXJhbXMuRGF0YS5Dc3ogPT0gMCkgew0KPiA+ICsgICAgICAgICAgU3Rh dHVzID0gWGhjSW5pdGlhbGl6ZURldmljZVNsb3QgKFhoYywgUGFyZW50Um91dGVDaGFydCwNCj4g PiArIFBvcnQsDQo+ID4gUm91dGVDaGFydCwgU3BlZWQpOw0KPiA+ICsgICAgICAgIH0gZWxzZSB7 DQo+ID4gKyAgICAgICAgICBTdGF0dXMgPSBYaGNJbml0aWFsaXplRGV2aWNlU2xvdDY0IChYaGMs IFBhcmVudFJvdXRlQ2hhcnQsDQo+ID4gKyBQb3J0LA0KPiA+IFJvdXRlQ2hhcnQsIFNwZWVkKTsN Cj4gPiArICAgICAgICB9DQo+ID4gICAgICAgIH0NCj4gPiAtICAgIH0NCj4gPiArDQo+ID4gKyAg ICAgIC8vDQo+ID4gKyAgICAgIC8vIEFjY29yZGluZyB0byB0aGUgeEhDSSBzcGVjaWZpY2F0aW9u IChzZWN0aW9uIDQuNi41KSwgImEgVVNCDQo+IFRyYW5zYWN0aW9uDQo+ID4gKyAgICAgIC8vIEVy cm9yIENvbXBsZXRpb24gQ29kZSBmb3IgYW4gQWRkcmVzcyBEZXZpY2UgQ29tbWFuZCBtYXkgYmUN Cj4gPiArIGR1ZQ0KPiA+IHRvIGEgU3RhbGwNCj4gPiArICAgICAgLy8gcmVzcG9uc2UgZnJvbSBh IGRldmljZS4gU29mdHdhcmUgc2hvdWxkIGlzc3VlIGEgRGlzYWJsZSBTbG90DQo+ID4gQ29tbWFu ZCBmb3INCj4gPiArICAgICAgLy8gdGhlIERldmljZSBTbG90IHRoZW4gYW4gRW5hYmxlIFNsb3Qg Q29tbWFuZCB0byByZWNvdmVyIGZyb20NCj4gPiArIHRoaXMNCj4gPiBlcnJvci4iDQo+ID4gKyAg ICAgIC8vIFRoZXJlZm9yZSwgcmV0cnkgdGhlIGRldmljZSBzbG90IGluaXRpYWxpemF0aW9uIGlm IGl0IGZhaWxzIGR1ZSB0byBhDQo+ID4gKyAgICAgIC8vIGRldmljZSBlcnJvci4NCj4gPiArICAg ICAgLy8NCj4gPiArICAgIH0gd2hpbGUgKChTdGF0dXMgPT0gRUZJX0RFVklDRV9FUlJPUikgJiYg KFJldHJpZXMtLSkpOw0KPiA+ICAgIH0NCj4gPiAgICByZXR1cm4gU3RhdHVzOw0KPiA+IEBAIC0y MjQ4LDcgKzIyNjIsNyBAQCBYaGNJbml0aWFsaXplRGV2aWNlU2xvdCAoDQo+ID4gICAgICBYaGMt PlVzYkRldkNvbnRleHRbU2xvdElkXS5YaGNpRGV2QWRkciA9IERldmljZUFkZHJlc3M7DQo+ID4g ICAgfSBlbHNlIHsNCj4gPiAgICAgIERFQlVHICgoREVCVUdfSU5GTywgIiAgICBBZGRyZXNzICVk IGFzc2lnbmVkIHVuc3VjY2Vzc2Z1bGx5XG4iKSk7DQo+ID4gLSAgICBTdGF0dXMgPSBYaGNEaXNh YmxlU2xvdENtZCAoWGhjLCBTbG90SWQpOw0KPiA+ICsgICAgWGhjRGlzYWJsZVNsb3RDbWQgKFho YywgU2xvdElkKTsNCj4gPiAgICB9DQo+ID4gICAgcmV0dXJuIFN0YXR1czsNCj4gPiBAQCAtMjQ2 MSw3ICsyNDc1LDcgQEAgWGhjSW5pdGlhbGl6ZURldmljZVNsb3Q2NCAoDQo+ID4gICAgICBYaGMt PlVzYkRldkNvbnRleHRbU2xvdElkXS5YaGNpRGV2QWRkciA9IERldmljZUFkZHJlc3M7DQo+ID4g ICAgfSBlbHNlIHsNCj4gPiAgICAgIERFQlVHICgoREVCVUdfSU5GTywgIiAgICBBZGRyZXNzICVk IGFzc2lnbmVkIHVuc3VjY2Vzc2Z1bGx5XG4iKSk7DQo+ID4gLSAgICBTdGF0dXMgPSBYaGNEaXNh YmxlU2xvdENtZDY0IChYaGMsIFNsb3RJZCk7DQo+ID4gKyAgICBYaGNEaXNhYmxlU2xvdENtZDY0 IChYaGMsIFNsb3RJZCk7DQo+ID4gICAgfQ0KPiA+ICAgIHJldHVybiBTdGF0dXM7DQo+ID4gZGlm ZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9CdXMvUGNpL1hoY2lEeGUvWGhjaVNjaGVkLmgNCj4gPiBi L01kZU1vZHVsZVBrZy9CdXMvUGNpL1hoY2lEeGUvWGhjaVNjaGVkLmgNCj4gPiBpbmRleCAyZjE4 OTk1MDIxNTEuLjNmOWNkYjFjMzYwOSAxMDA2NDQNCj4gPiAtLS0gYS9NZGVNb2R1bGVQa2cvQnVz L1BjaS9YaGNpRHhlL1hoY2lTY2hlZC5oDQo+ID4gKysrIGIvTWRlTW9kdWxlUGtnL0J1cy9QY2kv WGhjaUR4ZS9YaGNpU2NoZWQuaA0KPiA+IEBAIC0xMSw2ICsxMSw3IEBAIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gI2RlZmluZSBfRUZJX1hIQ0lfU0NI RURfSF8NCj4gPiAgI2RlZmluZSBYSENfVVJCX1NJRyAgICAgIFNJR05BVFVSRV8zMiAoJ1UnLCAn UycsICdCJywgJ1InKQ0KPiA+ICsjZGVmaW5lIFhIQ19JTklUX0RFVklDRV9TTE9UX1JFVFJJRVMg MQ0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4N Cj4gPg0KPiA+DQo+ID4NCj4gPiAtLQ0KPiA+IG52cHVibGljDQo=