From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E5660A04B7; Tue, 13 Oct 2020 19:14:41 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 6AF001DA75; Tue, 13 Oct 2020 19:14:39 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2099.outbound.protection.outlook.com [40.107.243.99]) by dpdk.org (Postfix) with ESMTP id 2E8061DA6F; Tue, 13 Oct 2020 19:14:36 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ilc3PadA2G8IzxlkSUYxRRes4JBy3BeVveViJ+e9e1ymm3WMnBvfHsC0gmfM0Rl9NpVt4xUDH051Sai2zO6h2xEnqYvHsX17c0Ok3/O0DbrTqSZ3dyh12RqgkXZnXW3y12WZDoj33/HP9ZJ5J2ehje5CFj3ghl7s7bb6b1bWI3Uo2aTuq17x5S6qTB9Ilq3+6a5Itm77+TC/jeVvJL1My/VUsuGZNyqz2J2A4Nzn48EYC8cF3oHSeQJBIgFPEjh7gnewufJP5OaRv+Ah5197z+1HkhSxKsRw9NCXQwmnX1B0U6LSMMXcr8v+SIQbxXboGFt9RuR6aVqdBezF0JA8yw== 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=nSDP+TJ9qYUi3bgB9K2PxHrn9oGRMrvmIXVLBQkmQU4=; b=mAzI0IKQvY42r51mTRQd1slHEcsZc7KP3g8XQxheazByWMj8oeygQbWkCrs0kuE3fhUyCdBIBwwQTlesTPes8kHpxzaoNmulsm7d+56kwPq5kpkqCgOOhaim2k5GV9hIkDKrFZlOeSL1Blnj5poLL2LPBHeSagrINjbOPq914CiHmJ9vwv1vijbJo7QROmUlC70AnUTpFfZoPrpiWo3hkXBes2XKL2amu0uGE7S+xjL2wCn+tPcqSXRJwbN5A5u1eTYLpt91j1L/YC+VZZLE/xPEqRjVShbsVhHCBPaLKNXu1gzLIUkOVMFBJEpLqG2UWYAx+VV6hbiOCbl0JGt6sg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nSDP+TJ9qYUi3bgB9K2PxHrn9oGRMrvmIXVLBQkmQU4=; b=WQIJ6MYj5T+HYPQWZHYwyi7eejEtjOqAXyddAIP4GsqFYYc+X1POGxCvAyj8KZ/WkyC3+r/U0E6HrI4c+n5f4k2sPjcq3ARzJHZALDP4JP1qc5ng+i5cada1a/ls2R/5QECCI+uz2eRddjsJ0hCUWYX5iv5SBAtidOa8kuC9aG0= Received: from BN8PR21MB1155.namprd21.prod.outlook.com (2603:10b6:408:73::10) by BN6PR21MB0177.namprd21.prod.outlook.com (2603:10b6:404:94::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.3; Tue, 13 Oct 2020 17:14:33 +0000 Received: from BN8PR21MB1155.namprd21.prod.outlook.com ([fe80::ccf4:7bc9:ac7a:1a19]) by BN8PR21MB1155.namprd21.prod.outlook.com ([fe80::ccf4:7bc9:ac7a:1a19%3]) with mapi id 15.20.3499.003; Tue, 13 Oct 2020 17:14:33 +0000 From: Long Li To: =?utf-8?B?R2HDq3RhbiBSaXZldA==?= CC: Long Li , "dev@dpdk.org" , "stable@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH] net/failsafe: check correct error code while handling sub-device add Thread-Index: AQHWmRhr1vZGE0ffJ0Gz0R2Fm6lcxqmIxWyAgAa4eICAAD0AoIAEWReAgAHBYNA= Date: Tue, 13 Oct 2020 17:14:32 +0000 Message-ID: References: <1601683308-18738-1-git-send-email-longli@linuxonhyperv.com> <20201005094215.u4kt64ycbk35kbeg@u256.net> <20201009162003.5ucroctwjpwhv64f@u256.net> <20201012142217.4s3l6wrt2qyiezcu@u256.net> In-Reply-To: <20201012142217.4s3l6wrt2qyiezcu@u256.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=2cbede49-443b-483d-8e35-5142307dfb63; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2020-10-13T17:10:39Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; authentication-results: u256.net; dkim=none (message not signed) header.d=none;u256.net; dmarc=none action=none header.from=microsoft.com; x-originating-ip: [2001:4898:80e8:f:eddf:db5c:c6fe:798] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 3e7a8439-f58c-47fe-9a03-08d86f9b7453 x-ms-traffictypediagnostic: BN6PR21MB0177: 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: Yk+T5lC9z7qCQgjyZx03V9vSySfiCWn2QC8cWw+JVmPq1KoqrAMV+JDEH7KUr1XAOuYKB2MVs987c1xc1nKNcc7XXzoCxRUcQnY3M9p7kGEKtsSJLPTD2nkLQl04tELGE137vnEmPIFS6f5UV9dM1l24/fhxebVFSc350LhI68luUYegYVo0hUZ02xJQsY+SmmhWarYljMuaIvwWn7lMYfhm39KXl3KDzTY6m8u+XFVWn9hEQ7JN88CPK46i+iEArx+x25rQ5yTcpzmZkaUYKV2JymJn1Qiil5aFEuwTIb3bIr1sbYSynRi/v+ZUkMaBu9O1HfF0o5eThECJgRbaXinz5BvzyvwIpRlpjQixJxVzbGnEf+ST763Os0oh8emohMvm7zvRrGEdiWIbzNMqVw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN8PR21MB1155.namprd21.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(396003)(366004)(346002)(136003)(376002)(9686003)(76116006)(64756008)(66476007)(2906002)(478600001)(66556008)(186003)(5660300002)(6916009)(66946007)(71200400001)(66446008)(53546011)(4326008)(6506007)(8936002)(54906003)(8990500004)(82950400001)(55016002)(82960400001)(33656002)(316002)(66574015)(8676002)(10290500003)(83380400001)(86362001)(7696005)(52536014); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: yrJXCMQLraDpo0SDiHUsw9cwnjGjyzTxch3zrtBdBSgOlidoK5I9M/Du3OtMvdZRBqkqPARZ+YNjzyxJBiLCZzKNsNIHRxmTc7e+6F8OV8s6ieoJtM7Q05F2teP/yH9pW9sOO4rKP78QwcSWv4hz90Jip45lHn46NfNwvAiAqgW5cQ4OkKUd1JMFHxzzsaKr4ib8iAhAxNMEmRQlo3jteEc8ucfjzpV3TbaCdb6yQMxN20bqUKzCKWYb/nk+8QhkYxrE6dQ4/l+aC1xQS6aXPAfHoaazO8JPtfZzO7kKVPxzM1iMuj4+3qRX0O580+0G+lo00G8hJxK1HtIQ1/CHhbQVXZ/67vM9gUZ8SRppJ2ZrM66BjduQ4kxlzB+y4vcc/x3WEwurdgyKhTHtuDdooppjyBsSNPqv6b/nExJqpICt/oxH18HJGPxENPhDyZ1JVv1xfPu/100VVF3pigCJAMT0KPL02PQlTM652pIl1oxvjMcv4SvIjDEqWFpd8Nzfr2evANs73vMq245ZuhA1NeHfM2my7pPrBpsZNnh0qPQ7i0pOhoaRp2Gqs7uHGmadaFETUAZULwuyN9n4CGxYNOtEJmRIs1Q3kE2kZlK2U67YWxLuFk0OtY+CCHGafFfyKM3/E5Zyls45UwpJdwhECnENBeTSXH9APSsd5gr/MEziApYcCWk0Q4PmS9zZB7CFEcYhnPt67LEcuPAqL0a6jQ== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN8PR21MB1155.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3e7a8439-f58c-47fe-9a03-08d86f9b7453 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Oct 2020 17:14:33.3586 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: KhLpTNLc3YU5l5a+9GWo/Y+HBHmtdRBTlKphU3kDpHYVVpv6cDHnY8i+zkNPhCz/qPCaaKhBTKyB+U1pwcFZtA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR21MB0177 Subject: Re: [dpdk-dev] [PATCH] net/failsafe: check correct error code while handling sub-device add X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" PlN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSF0gbmV0L2ZhaWxzYWZlOiBjaGVjayBjb3Jy ZWN0IGVycm9yIGNvZGUgd2hpbGUNCj5oYW5kbGluZyBzdWItZGV2aWNlIGFkZA0KPg0KPk9uIDA5 LzEwLzIwIDIwOjMwICswMDAwLCBMb25nIExpIHdyb3RlOg0KPj4gPlN1YmplY3Q6IFJlOiBbZHBk ay1kZXZdIFtQQVRDSF0gbmV0L2ZhaWxzYWZlOiBjaGVjayBjb3JyZWN0IGVycm9yDQo+PiA+Y29k ZSB3aGlsZSBoYW5kbGluZyBzdWItZGV2aWNlIGFkZA0KPj4gPg0KPj4gPk9uIDA1LzEwLzIwIDEx OjQyICswMjAwLCBHYcOrdGFuIFJpdmV0IHdyb3RlOg0KPj4gPj4gSGksDQo+PiA+Pg0KPj4gPj4g T24gMDIvMTAvMjAgMTc6MDEgLTA3MDAsIExvbmcgTGkgd3JvdGU6DQo+PiA+PiA+IEZyb206IExv bmcgTGkgPGxvbmdsaUBtaWNyb3NvZnQuY29tPg0KPj4gPj4gPg0KPj4gPj4gPiBXaGVuIGFkZGlu ZyBhIHN1Yi1kZXZpY2UsIGl0J3MgcG9zc2libGUgdGhhdCB0aGUgc3ViLWRldmljZSBpcw0KPj4g Pj4gPiBjb25maWd1cmVkIHN1Y2Nlc3NmdWxseSBidXQgbGF0ZXIgZmFpbHMgdG8gc3RhcnQuIFRo aXMgZXJyb3INCj4+ID4+ID4gc2hvdWxkIG5vdCBiZQ0KPj4gPm1hc2tlZC4NCj4+ID4+DQo+PiA+ PiBTb21lIG9mIHRob3NlIGVycm9ycyBhcmUgbWVhbnQgdG8gYmUgbWFza2VkOiAtRUlPLCB3aGVu IHRoZSBkZXZpY2UNCj4+ID4+IGlzIG1hcmtlZCBhcyByZW1vdmVkIGF0IHRoZSBldGhkZXYgbGV2 ZWwgKHNlZSBldGhfZXJyKCkgaW4NCj5ydGVfZXRoZGV2LmM6ODE5KS4NCj4+ID4+DQo+PiA+PiA+ IFRoZSBkcml2ZXIgbmVlZHMgdG8gY2hlY2sgdGhlIGVycm9yIHN0YXR1cyB0byBwcmV2ZW50IGVu ZGxlc3MNCj4+ID4+ID4gbG9vcCBvZiB0cnlpbmcgdG8gc3RhcnQgdGhlIHN1Yi1kZXZpY2UuDQo+ PiA+Pg0KPj4gPj4gSWYgdGhlIGV0aGRldiBsYXllciBlcnJvciBpcyBkdWUgdG8gdGhlIGRldmlj ZSBiZWluZyByZW1vdmVkLCBhbmQNCj4+ID4+IGZhaWxzYWZlIGxvb3BzIG9uIHRyeWluZyB0byBz eW5jIHRoZSBldGggZGV2aWNlIHRvIGl0cyBvd24gc3RhdGUsDQo+PiA+PiB0aGVuIGFuIFJNViBl dmVudCBzaG91bGQgaGF2ZSBiZWVuIGVtaXR0ZWQgYnV0IHdhc24ndCBvciBpdCB3YXMNCj4+ID4+ IG1pc3NlZCBieSBmYWlsc2FmZS4NCj4+ID4+DQo+PiA+PiBJZiB0aGUgZXRoZGV2IGxheWVyIGVy cm9yIGlzICpub3QqIGR1ZSB0byB0aGUgZGV2aWNlIGJlaW5nIHJlbW92ZWQsDQo+PiA+PiB0aGUg ZXJyb3Igc2hvdWxkIGJlICE9IC1FSU8sIGFuZCBzZGV2LT5yZW1vdmUgc2hvdWxkIG5vdCBiZSBz ZXQsIHNvDQo+PiA+PiBmc19lcnIoKSBzaG91bGQgbm90IG1hc2sgaXQgYW5kIGl0IHNob3VsZCBi ZSBzZWVuIGJ5IHRoZSBhcHAuDQo+PiA+Pg0KPj4gPj4gQ2FuIHlvdSBwcm92aWRlIHRoZSBmb2xs b3dpbmcgZGV0YWlsczoNCj4+ID4+DQo+PiA+PiAgKiBXaGF0IGlzIHRoZSByZXR1cm4gY29kZSBv ZiBydGVfZXRoX2Rldl9zdGFydCgpIHRoYXQgaXMgbWFza2VkIGluIHlvdXINCj4+ID4+ICAgIHN0 YXJ0IGxvb3A/DQo+PiA+Pg0KPj4gPj4gICogSXMgdGhlIGRldmljZSBtYXJrZWQgYXMgcmVtb3Zl ZCBpbiBmYWlsc2FmZT8NCj4+ID4+DQo+PiA+PiAgKiBJcyB0aGUgZGV2aWNlIG1hcmtlZCBhcyBy ZW1vdmVkIGluIGV0aGRldj8NCj4+ID4+DQo+PiA+PiAgKiBXYXMgdGhlcmUgYW4gUk1WIGV2ZW50 IGdlbmVyYXRlZCBmb3IgdGhlIGRldmljZT8gV2hldGhlciB5ZXMgb3INCj5ubywNCj4+ID4+ICAg IGlzIGl0IGNvcnJlY3Q/DQo+PiA+Pg0KPj4gPj4gVGhhbmtzLA0KPj4gPj4NCj4+ID4NCj4+ID5I ZWxsbyBMaSwNCj4+ID4NCj4+ID5JJ3ZlIGZvdW5kIHRoZSBwcmV2aW91cyBtYWlsIHRocmVhZCBb MV0gd2hlcmUgeW91IGRlc2NyaWJlZCBob3cgeW91DQo+PiA+Z290IHRoaXMgZXJyb3IuIEluIHlv dXIgZGVzY3JpcHRpb24sIHlvdSBzYXkgdGhhdCB5b3UgdHJ5IHVucGx1ZyB0aGVuDQo+PiA+cXVp Y2sgcmVwbHVnLCBiZWZvcmUgYW55IGV2ZW50IGlzIHByb2Nlc3NlZD8NCj4+DQo+PiBIaSBHYcOr dGFuLA0KPj4NCj4+IFNvcnJ5IGZvciBnZXR0aW5nIGJhY2sgbGF0ZS4gSSBoYWQgdHJvdWJsZSB3 aXRoIG15IGVtYWlsLg0KPj4NCj4+IEkgdGhpbmsgdGhlIGlzc3VlIGlzIHRoYXQ6IHdoZW4gdGhl IGZhaWxzYWZlIGRyaXZlciB0cmllcyB0byBzdGFydCB0aGUgc3ViIGRldmljZSwNCj5pdCBtYXkg ZmFpbC4gVGhlIGZhaWxzYWZlIGRyaXZlciBuZWVkcyB0byBkZWFsIHdpdGggdGhlIGZhaWx1cmUu IEhlcmUgaXMgYW5vdGhlcg0KPmxvZyB0aGF0IEkgY2FwdHVyZWQ6DQo+Pg0KPj4gbmV0X2ZhaWxz YWZlOiBTdGFydGluZyBzdWJfZGV2aWNlIDANCj4+IG5ldF9tbHg0OiBlcnJvciB3aGlsZSBhdHRh Y2hpbmcgUnggcXVldWUgMHgxMWRhNDI4YzA6IENRIGNyZWF0aW9uDQo+PiBmYWlsdXJlOiBDYW5u b3QgYWxsb2NhdGUgbWVtb3J5DQo+PiBuZXRfbWx4NDogY2Fubm90IGluaXRpYWxpemUgY29tbW9u IFJTUyByZXNvdXJjZXMgKHF1ZXVlIDApOiB1bmFibGUgdG8NCj4+IGNyZWF0ZSBSeCBxdWV1ZSBy ZXNvdXJjZXM6IENhbm5vdCBhbGxvY2F0ZSBtZW1vcnkNCj4+IG5ldF9tbHg0OiAweDFiZjIyODA6 IGNhbm5vdCBpbml0aWFsaXplIFJTUyByZXNvdXJjZXM6IENhbm5vdCBhbGxvY2F0ZQ0KPj4gbWVt b3J5DQo+PiBuZXRfZmFpbHNhZmU6IFN0YXJ0aW5nIHN1Yl9kZXZpY2UgMA0KPj4gbmV0X21seDQ6 IGVycm9yIHdoaWxlIGF0dGFjaGluZyBSeCBxdWV1ZSAweDExZGE0MjhjMDogQ1EgY3JlYXRpb24N Cj4+IGZhaWx1cmU6IENhbm5vdCBhbGxvY2F0ZSBtZW1vcnkNCj4+IG5ldF9tbHg0OiBjYW5ub3Qg aW5pdGlhbGl6ZSBjb21tb24gUlNTIHJlc291cmNlcyAocXVldWUgMCk6IHVuYWJsZSB0bw0KPj4g Y3JlYXRlIFJ4IHF1ZXVlIHJlc291cmNlczogQ2Fubm90IGFsbG9jYXRlIG1lbW9yeQ0KPj4gbmV0 X21seDQ6IDB4MWJmMjI4MDogY2Fubm90IGluaXRpYWxpemUgUlNTIHJlc291cmNlczogQ2Fubm90 IGFsbG9jYXRlDQo+PiBtZW1vcnkNCj4+DQo+PiBJdCdzIGNhbGxlZCBmcm9tIGZzX2Rldl9zdGFy dCgpLiBUaGUgTUxYNCBjYW4ndCBzdGFydCwgaXQncyBpbiBhIHN0YXRlIGJlaW5nDQo+cmVtb3Zl ZCBpbiBldGhkZXYuIEJ1dCB0aGlzIGVycm9yIGlzIGJlaW5nIG1hc2tlZCBieSBmc19lcnIoKToN Cj4+DQo+PiBzdGF0aWMgaW5saW5lIGludA0KPj4gZnNfZXJyKHN0cnVjdCBzdWJfZGV2aWNlICpz ZGV2LCBpbnQgZXJyKSB7DQo+PiAgICAgICAgIC8qIEEgZGV2aWNlIHJlbW92YWwgc2hvdWxkbid0 IGJlIHJlcG9ydGVkIGFzIGFuIGVycm9yLiAqLw0KPj4gICAgICAgICBpZiAoc2Rldi0+cmVtb3Zl ID09IDEgfHwgZXJyID09IC1FSU8pDQo+PiAgICAgICAgICAgICAgICAgcmV0dXJuIHJ0ZV9lcnJu byA9IDA7DQo+PiAgICAgICAgIHJldHVybiBlcnI7DQo+PiB9DQo+Pg0KPj4gU28gZnNfZGV2X3N0 YXJ0KCkgYWx3YXlzIHJldHVybiBhIHN1Y2Nlc3MsIHJldHVybmVkIHRvDQo+ZmFpbHNhZmVfZXRo X2Rldl9zdGF0ZV9zeW5jKCksIHdoaWNoIGlzIHJlcGVhdGVkIGNhbGxlZCBmcm9tIHRoZSBhbGFy bQ0KPmZzX2hvdHBsdWdfYWxhcm0oKS4gVGhpcyBnb2VzIHRvIGFuIGVuZGxlc3MgbG9vcC4NCj4+ DQo+PiBJIGJlbGlldmUgZmFpbHNhZmVfZXRoX3Jtdl9ldmVudF9jYWxsYmFjaygpIGhhcyBiZWVu IGNhbGxlZCBwcmlvciB0byB0aGlzLiBJdA0KPnNldHMgc2Rldi0+cmVtb3ZlID0gMSwgYnV0IGl0 IGRpZG4ndCBoZWxwIHdpdGggZXhpdGluZyB0aGUgbG9vcC4gZnNfZXJyKCkgYWx3YXlzDQo+cmV0 dXJucyAwLCBhbmQgZnNfZGV2X3N0YXJ0KCkgaXMgY2FsbGVkIGZyb20gZnNfaG90cGx1Z19hbGFy bSgpLCB0aGF0IGtlZXBzIHJlLQ0KPmFsYXJtaW5nIGl0c2VsZi4NCj4NCj5PaywgdGhlIGlzc3Vl IGhlcmUgaXMgdGhhdCBldmVuIHdpdGggc2Rldi0+cmVtb3ZlID09IDEsIHRoZSBkZXZpY2UgaXMg bm90DQo+YWN0dWFsbHkgcmVtb3ZlZCwgYnV0IGl0IHNob3VsZC4NCj4NCj5JIHRoaW5rIHdlIGRp c2N1c3NlZCBpdCB3aXRoIFN0ZXBoZW4gb2ZmLWxpc3Qgbm90IHRvbyBsb25nIGFnbyBhY3R1YWxs eS4NCj5JbiBoaXMgY2FzZSB0aGUgYWN0dWFsIGJ1ZyB3YXMgaW4gdmRldl9uZXR2c2MsIGJ1dCB0 aGVyZSB3YXMgc3RpbGwgdGhpcyBpc3N1ZSBpbg0KPmZhaWxzYWZlLiBJdCBpcyBoYXBwZW5pbmcg dGhlcmU6DQo+DQo+ICAgdm9pZA0KPiAgIGZhaWxzYWZlX2Rldl9yZW1vdmUoc3RydWN0IHJ0ZV9l dGhfZGV2ICpkZXYpDQo+ICAgew0KPiAgICAgICAgICAgc3RydWN0IHN1Yl9kZXZpY2UgKnNkZXY7 DQo+ICAgICAgICAgICB1aW50OF90IGk7DQo+DQo+ICAgICAgICAgICBGT1JFQUNIX1NVQkRFVl9T VEFURShzZGV2LCBpLCBkZXYsIERFVl9BQ1RJVkUpDQo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAvKiBeXl5eXl5eXl5eXl4gSEVSRSBpcyB0aGUgYnVnICovDQo+ICAg ICAgICAgICAgICAgICAgIGlmIChzZGV2LT5yZW1vdmUgJiYgZnNfcnh0eF9jbGVhbihzZGV2KSkg ew0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmc19sb2NrKGRldiwgMSkgIT0gMCkN Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCj4gICAgICAgICAg ICAgICAgICAgICAgICAgICBmc19kZXZfc3RhdHNfc2F2ZShzZGV2KTsNCj4gICAgICAgICAgICAg ICAgICAgICAgICAgICBmc19kZXZfcmVtb3ZlKHNkZXYpOw0KPiAgICAgICAgICAgICAgICAgICAg ICAgICAgIGZzX3VubG9jayhkZXYsIDEpOw0KPiAgICAgICAgICAgICAgICAgICB9DQo+ICAgfQ0K Pg0KPkEgZGV2aWNlIHdpdGggdGhlIHJlbW92ZSBmbGFnIHdpbGwgYmUgY2xlYW5lZCB1cCBvbmx5 IGlmIGl0IGlzIGFscmVhZHkgaW4gYW4gYWN0aXZlDQo+c3RhdGUuIFRoaXMgaXMgbm90IGNvcnJl Y3QsIGl0IHNob3VsZCBiZSByZW1vdmVkIGluIGFsbCBjYXNlcyAtLSBldmVuIGlmIGl0IHN0YXll ZA0KPnN0dWNrIGluIFBST0JFRCBzdGF0ZS4NCj4NCj5IZXJlIGlzIGEgZml4IEkgcHJvcG9zZSBm b3IgdGhpcyBpc3N1ZToNCj5odHRwczovL25hbTA2LnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxv b2suY29tLz91cmw9aHR0cCUzQSUyRiUyRm1haWxzLg0KPmRwZGsub3JnJTJGYXJjaGl2ZXMlMkZk ZXYlMkYyMDIwLQ0KPk9jdG9iZXIlMkYxODU5MjEuaHRtbCZhbXA7ZGF0YT0wNCU3QzAxJTdDbG9u Z2xpJTQwbWljcm9zb2Z0LmNvbSU3Qw0KPjBjZmNjZjE5Y2YzZDQyZWU1NDkwMDhkODZlYmEzZDZl JTdDNzJmOTg4YmY4NmYxNDFhZjkxYWIyZDdjZDAxMWRiNDcNCj4lN0MxJTdDMCU3QzYzNzM4MTA5 MzkwMjU1ODg2MSU3Q1Vua25vd24lN0NUV0ZwYkdac2IzZDhleUpXSWpvDQo+aU1DNHdMakF3TURB aUxDSlFJam9pVjJsdU16SWlMQ0pCVGlJNklrMWhhV3dpTENKWFZDSTZNbjAlM0QlN0MzMDANCj4w JmFtcDtzZGF0YT1qMTNmb0ZFYk5WN0RxV3hsMmFoTGxvRVpTYkNPOTZsbVBhcVNmalU1S3NRJTNE JmFtcDtyDQo+ZXNlcnZlZD0wDQo+DQo+Q291bGQgeW91IHBsZWFzZSB0ZXN0IGl0IGFuZCB2ZXJp ZnkgaXQgc29sdmVzIHlvdXIgaXNzdWU/DQoNClRoYW5rIHlvdSENCg0KSSBoYXZlIGJlZW4gdGVz dGluZyB0aGlzIHBhdGNoIGZvciAyNCBob3VycyBhbmQgaXQgd29ya2VkIHdlbGwuDQoNCj4NCj4+ DQo+PiBXaHkgZG8gd2UgY2hlY2sgKHNkZXYtPnJlbW92ZSA9PSAxIHx8IGVyciA9PSAtRUlPKSBp biBmc19lcnIoKT8gSWYgc2Rldi0NCj4+cmVtb3ZlIGlzIHNldCwgdGhpcyB3aWxsIGFsd2F5cyBy ZXR1cm4gMCwgcmVnYXJkbGVzcyBvZiBlcnIuDQo+Pg0KPg0KPmlmIHNkZXYtPnJlbW92ZSA9PSAx LCB0aGVyZSBzaG91bGQgbm90IGV2ZW4gYmUgYSBjYWxsIHRvIHN1Yi1kZXZpY2Ugc3RhcnQgb3Bz DQo+YWN0dWFsbHkuIFRoZSBkZXZpY2UgaXMgZmxhZ2dlZCBmb3IgcmVtb3ZhbCwgbmV4dCB0aGlu ZyB0byBoYXBwZW4gaXMgdG8gcmVtb3ZlDQo+aXQsIGV2ZW4gaWYgdGhlIGRldmljZSByZWFwcGVh cmVkIG9uIHRoZSBidXMgaW4tYmV0d2Vlbi4gVGhlIGZhaWxzYWZlIG5lZWRzIHRvDQo+Y29uc3Vt ZSB0aGUgcmVtb3ZlZCBmbGFnIChjbG9zZSB0aGUgZGV2aWNlIHRoZW4gcmVtb3ZlIGl0KSwgdGhl biBpdCB3aWxsIGJlDQo+cmVhZHkgdG8gZGV0ZWN0IHRoZSBuZXcgZGV2aWNlIGFuZCB3aWxsIHBy b2JlIGl0IGJhY2sgZnJvbSB0aGUgYmVnaW5uaW5nLg0KPg0KPj4gSXQncyBoYXJkIHRvIHJlcHJv ZHVjZSB3aXRoIGdkYi4gSG9wZWZ1bGx5IEkgY2FuIGdldCBhIGdvb2QgdHJhY2UgaW4gZ2RiLg0K Pj4NCj4+IFRoYW5rcywNCj4+DQo+PiBMb25nDQo+Pg0KPj4gPg0KPj4gPklmIHRoYXQncyB0aGUg Y2FzZSwgaXQgc2VlbXMgYSBjbGVhciByYWNlIGNvbmRpdGlvbiwgYW5kIGFuIGlzc3VlIG9mDQo+ PiA+bWlzc2luZyB0aGUgcmVtb3ZhbCBldmVudCBvZiB0aGUgZGV2aWNlLiBJIHdvdWxkIG5vdCBz YXkgeWV0IHRoYXQgdGhlDQo+PiA+YnVnIGlzIGluIGZhaWxzYWZlLCBidXQgaXQgY291bGQgYmUg aW4gZXRoZGV2Lg0KPj4gPg0KPj4gPkNhbiB5b3UgcGxlYXNlIGNoZWNrIHdoZXRoZXIgdGhlIGRl dmljZSByZW1vdmFsIGV2ZW50IHdhcyBwcm9wZXJseQ0KPj4gPmdlbmVyYXRlZCBpbiBydGVfZXRo ZGV2PyBGYWlsc2FmZSAoYW5kIGFueSBvdGhlciBob3RwbHVnIHN1cHBvcnQNCj4+ID5sYXllcg0K Pj4gPmFjdHVhbGx5KSB3aWxsIGRlcGVuZCBvbiBpdCBzbyBpdCBzaG91bGQgYmUgZmlyc3QgY2hl Y2tlZCB0byB3b3JrLg0KPj4gPg0KPj4gPlRoYW5rcywNCj4+ID4NCj4+ID5bMV06DQo+Pg0KPj5o dHRwczovL25hbTA2LnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cCUz QSUyRiUyRm1haWxzDQo+Lg0KPj4gPmRwZGsub3JnJTJGYXJjaGl2ZXMlMkZkZXYlMkYyMDIwLQ0K Pj4NCj4+U2VwdGVtYmVyJTJGMTgyOTc3Lmh0bWwmYW1wO2RhdGE9MDIlN0MwMSU3Q2xvbmdsaSU0 MG1pY3Jvc29mdC5jbw0KPm0NCj4+DQo+PiU3QzNlMDQ0MjAxMDk2YzRmNDg1MDgxMDhkODZjNmYz MTlkJTdDNzJmOTg4YmY4NmYxNDFhZjkxYWIyZDdjZDAxMQ0KPmQNCj4+DQo+PmI0NyU3QzElN0Mw JTdDNjM3Mzc4NTcyNTY4NDA0NzM0JmFtcDtzZGF0YT1EQVVWeEJKUXRKeDhtVVNXbFANCj5JDQo+ PiA+RHRlbmhwTW1kaU1QcEljem14T2RyQ3FFJTNEJmFtcDtyZXNlcnZlZD0wDQo+PiA+DQo+PiA+ LS0NCj4+ID5HYcOrdGFuDQo+DQo+UmVnYXJkcywNCj4tLQ0KPkdhw6t0YW4NCg==