From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 34DB7A0530;
	Mon,  3 Feb 2020 18:10:33 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 141251BFDD;
	Mon,  3 Feb 2020 18:10:33 +0100 (CET)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr50074.outbound.protection.outlook.com [40.107.5.74])
 by dpdk.org (Postfix) with ESMTP id 898601BFB1;
 Mon,  3 Feb 2020 18:10:31 +0100 (CET)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EniiRHTLSET7aJJRQw2XwZ57BTFgRkQnccJu1lcuRitDXbu6go4IImtA4mnoFgeHqjRN1Wz4o1j4+erUQeG56drLP6F9a3mH+npnAktdD5RhbcPIt6V7c06lbZbRbBsKeNh6rLZrJ1RqkjTGnqcXzJ+QsaiT6nuFZJiitMfAwiAskEMjVcWevSYH1Q/ohagm6fnZVyHAhRH5MjlOZljsofPqrGMWqbOXCxD+Ahfo9d8Q4/zoQq9T3rVI/aiImQ3ot4r314EiBwywJWKey3NcEaV9tl7zWr0n4a3i/dKxQ3jV5Rnbhv/9WwSlJJ+rlZKf4uOQWt7m047ohIXNAnkbxg==
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=okn9tbLZByfEU0ro52ShMKX4J9iLtnokvHmJtdz5ZgY=;
 b=e9n2LuQILrx5XjWQJfKyID5uJZK9a4ltw4zTcIzSQNmceBELkZ844aqOWzvDBEBEobn2r9TKuvnKrsvswJdxsxQxIshf5OC/f/7Qj8q+gE2Jhx1lu3fnTOedikBu12376IKXdGQh+RZJy52ceoSAsc7VYLTEwahzmz1i+WUbqVJqIIXdtmCrehOjUk6SSJfehypcalATvChQ12bTA+RRKOHHjGnc3utlKTI/BlpL1wgAuJWZHynU3g4tnDcVMcylPwiNwHVJkZ5inkS5U7mlIsYJL/pgBTgI9rduyV0eGrleMxjZxjK9lJ/5NGMY0pi7VX30jd28hahyYK+c5AU6PA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com;
 dkim=pass header.d=mellanox.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=okn9tbLZByfEU0ro52ShMKX4J9iLtnokvHmJtdz5ZgY=;
 b=Ciuu/xAmUVb1CS31P4LAQrhQcX+N6SrondRuVYmwwdGtu36nuzknr6b3Z65lXceKTU0KD9xDQrr9QIUu+Nw1x3fXmZOGlDvY1BSc4qqPsUq0SkU5DxwctRFqhPc33ABaDTrieyKkSJwF1HZtTMY7LLHf2TSzo7iLq8hWtEFoF5A=
Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (52.133.39.139) by
 AM0PR0502MB3873.eurprd05.prod.outlook.com (52.133.48.156) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2686.29; Mon, 3 Feb 2020 17:10:30 +0000
Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com
 ([fe80::e495:9258:db09:1de8]) by AM0PR0502MB4019.eurprd05.prod.outlook.com
 ([fe80::e495:9258:db09:1de8%7]) with mapi id 15.20.2686.031; Mon, 3 Feb 2020
 17:10:30 +0000
From: Matan Azrad <matan@mellanox.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>, "Yigit, Ferruh"
 <ferruh.yigit@linux.intel.com>, "dev@dpdk.org" <dev@dpdk.org>, Bernard
 Iremonger <bernard.iremonger@intel.com>
CC: Gaetan Rivet <gaetan.rivet@6wind.com>, Thomas Monjalon
 <thomas@monjalon.net>, "stable@dpdk.org" <stable@dpdk.org>, David Marchand
 <david.marchand@redhat.com>, Jeff Guo <jia.guo@intel.com>, Qi Zhang
 <qi.z.zhang@intel.com>
Thread-Topic: [dpdk-stable] [dpdk-dev] [PATCH 2/2] app/testpmd: fix invalid
 port detaching
Thread-Index: AQHVmTXi86tTdzAeWkqyvnlr7fOHC6f4rRKAgAAHfBCAABFJAIAACPCwgAAwmQCAAARtQIABcESAgAGm/vCADggUgIAABEWA
Date: Mon, 3 Feb 2020 17:10:30 +0000
Message-ID: <AM0PR0502MB4019BEB2315DF909237A8A36D2000@AM0PR0502MB4019.eurprd05.prod.outlook.com>
References: <1573548459-6931-1-git-send-email-matan@mellanox.com>
 <1573548459-6931-2-git-send-email-matan@mellanox.com>
 <c9e8cae1-0984-fc26-5e9b-6d71619ddb1d@linux.intel.com>
 <AM0PR0502MB40199393EEF1CB3F9D8D05B4D20F0@AM0PR0502MB4019.eurprd05.prod.outlook.com>
 <19a86d69-9bcc-42c9-b000-98b3860de42f@intel.com>
 <AM0PR0502MB4019D21A3F45C52C8AFA88C2D20F0@AM0PR0502MB4019.eurprd05.prod.outlook.com>
 <4df501fa-06d8-744d-27cd-f5742992e109@intel.com>
 <AM0PR0502MB401948ACB5364A9EE97E1402D20F0@AM0PR0502MB4019.eurprd05.prod.outlook.com>
 <89e4cfea-ccfa-c7c1-c201-6ca3ff845267@intel.com>
 <AM0PR0502MB40190732C5655D5425D2BF6DD2090@AM0PR0502MB4019.eurprd05.prod.outlook.com>
 <33a6aa15-28e4-e770-204c-25ca230ca653@intel.com>
In-Reply-To: <33a6aa15-28e4-e770-204c-25ca230ca653@intel.com>
Accept-Language: en-US, he-IL
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=matan@mellanox.com; 
x-originating-ip: [193.47.165.251]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 7f5a8ada-5e38-48e2-aff5-08d7a8cbf905
x-ms-traffictypediagnostic: AM0PR0502MB3873:
x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr
x-microsoft-antispam-prvs: <AM0PR0502MB3873FDF40509F8A3718FE530D2000@AM0PR0502MB3873.eurprd05.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8882;
x-forefront-prvs: 0302D4F392
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(4636009)(346002)(396003)(136003)(39860400002)(366004)(376002)(189003)(199004)(66946007)(76116006)(30864003)(33656002)(66556008)(66476007)(64756008)(66446008)(2906002)(9686003)(55016002)(4326008)(81156014)(8676002)(81166006)(86362001)(26005)(8936002)(71200400001)(110136005)(54906003)(53546011)(6506007)(316002)(52536014)(7696005)(186003)(5660300002)(7416002)(478600001);
 DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0502MB3873;
 H:AM0PR0502MB4019.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: mellanox.com does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 3HZhW1uOlyx4LXMBgggS5LjmXz/ZLZcu54iYq+k3PYbCYt0f0nkZnXb2Lb4yEs9uWFBHNHracXdgQZZWhEAPapwUul/VsXp2gRkBXjUwJcCWR/4YYxmMUsJuDzmiqPBRvGrRUrIGGFdUlQ5Swi0vO5nMi2lucCafM3t7gqpsE6Kr3ywDbbwIsik8hEu9C5NQj7uBa6QZDPhmn2NORVn0RWELB8qb+w5yc1tAsQCqzGWbDWvYz3r3wL0StpTrb5WfTQX8i0V/FnS0TEjQsK0A+ysCeTy+WCJPrnqqnKQoyOjxzVJDDcUe9GvVSNQYqmvfogJlewn0ElaYnSUecY9by19wGbcAniXkcz9nNzwY4h0ufoTIZDmKFWuLrBH3hZ9Hwcalw3geP7i9KYVOct/NuWDjtE5Q85+WCLKROSVg4d6T/LimpKSZvjM3ShUkVJyd
x-ms-exchange-antispam-messagedata: h015Nj2/b39kkvA1/xzMkQItD9jZyFAE5tt7P3Qimncyuc9FdR9ViwqjW4W8bXUxm6NEdRfHfVyxEgHUCMxkqvBYgt4+s98Uo31voeM7RdOukrxMYP8I4uqDTouAWloDYF5ToD29hbTokfQyFxZS2g==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: Mellanox.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7f5a8ada-5e38-48e2-aff5-08d7a8cbf905
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Feb 2020 17:10:30.4372 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: DBo88nPMGQiz8fxLaiCqps9q+1lOvTiWasW0LBffhVJ9yhpkJhQYb2zOWJ5y9E59dDyxEPKNQ3/47AbQaOtvsw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3873
Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH 2/2] app/testpmd: fix invalid
 port detaching
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

DQpIaQ0KDQpGcm9tOiBGZXJydWggWWlnaXQNCj4gT24gMS8yNS8yMDIwIDY6NTYgUE0sIE1hdGFu
IEF6cmFkIHdyb3RlOg0KPiA+IEhpIEZlcnJ1aA0KPiA+DQo+ID4gRnJvbTogRmVycnVoIFlpZ2l0
DQo+ID4+IE9uIDEvMjMvMjAyMCA3OjI1IFBNLCBNYXRhbiBBenJhZCB3cm90ZToNCj4gPj4+IEhp
DQo+ID4+Pg0KPiA+Pj4gRnJvbTogRmVycnVoIFlpZ2l0DQo+ID4+Pj4gT24gMS8yMy8yMDIwIDM6
MjkgUE0sIE1hdGFuIEF6cmFkIHdyb3RlOg0KPiA+Pj4+Pg0KPiA+Pj4+PiBIaQ0KPiA+Pj4+Pg0K
PiA+Pj4+PiBGcm9tOiBGZXJydWggWWlnaXQNCj4gPj4+Pj4+IE9uIDEvMjMvMjAyMCAyOjA1IFBN
LCBNYXRhbiBBenJhZCB3cm90ZToNCj4gPj4+Pj4+PiBIaQ0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4g
RnJvbTogWWlnaXQsIEZlcnJ1aA0KPiA+Pj4+Pj4+PiBPbiAxMS8xMi8yMDE5IDg6NDcgQU0sIE1h
dGFuIEF6cmFkIHdyb3RlOg0KPiA+Pj4+Pj4+Pj4gVGhlIHBvcnQgd2FzIG5vdCB2YWxpZGF0ZWQg
YmVmb3JlIGRldGFjaGluZy4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiBJZ25vcmUgcG9ydCBk
ZXRhY2ggb3BlcmF0aW9uIHdoZW4gdGhlIHBvcnQgaXMgbm90IHZhbGlkLg0KPiA+Pj4+Pj4+Pj4N
Cj4gPj4+Pj4+Pj4+IEZpeGVzOiBmOGU1YmFhMjY2MmQgKCJhcHAvdGVzdHBtZDogY2hlY2sgbm90
IGRldGFjaGluZyBkZXZpY2UNCj4gPj4+Pj4+Pj4+IHR3aWNlIikNCj4gPj4+Pj4+Pj4+IENjOiB0
aG9tYXNAbW9uamFsb24ubmV0DQo+ID4+Pj4+Pj4+PiBDYzogc3RhYmxlQGRwZGsub3JnDQo+ID4+
Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogTWF0YW4gQXpyYWQgPG1hdGFuQG1l
bGxhbm94LmNvbT4NCj4gPj4+Pj4+Pj4+IC0tLQ0KPiA+Pj4+Pj4+Pj4gIGFwcC90ZXN0LXBtZC90
ZXN0cG1kLmMgfCAzICsrKw0KPiA+Pj4+Pj4+Pj4gIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlv
bnMoKykNCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QtcG1k
L3Rlc3RwbWQuYyBiL2FwcC90ZXN0LXBtZC90ZXN0cG1kLmMNCj4gPj4+Pj4+Pj4+IGluZGV4IDQ0
NDQzNDYuLjM3MGVlZmUgMTAwNjQ0DQo+ID4+Pj4+Pj4+PiAtLS0gYS9hcHAvdGVzdC1wbWQvdGVz
dHBtZC5jDQo+ID4+Pj4+Pj4+PiArKysgYi9hcHAvdGVzdC1wbWQvdGVzdHBtZC5jDQo+ID4+Pj4+
Pj4+PiBAQCAtMjU0NSw2ICsyNTQ1LDkgQEAgc3RydWN0IGV4dG1lbV9wYXJhbSB7DQo+ID4+Pj4+
Pj4+Pg0KPiA+Pj4+Pj4+Pj4gIAlwcmludGYoIlJlbW92aW5nIGEgZGV2aWNlLi4uXG4iKTsNCj4g
Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiArCWlmIChwb3J0X2lkX2lzX2ludmFsaWQocG9ydF9pZCwg
RU5BQkxFRF9XQVJOKSkNCj4gPj4+Pj4+Pj4+ICsJCXJldHVybjsNCj4gPj4+Pj4+Pj4+ICsNCj4g
Pj4+Pj4+Pj4+ICAJZGV2ID0gcnRlX2V0aF9kZXZpY2VzW3BvcnRfaWRdLmRldmljZTsNCj4gPj4+
Pj4+Pj4+ICAJaWYgKGRldiA9PSBOVUxMKSB7DQo+ID4+Pj4+Pj4+PiAgCQlwcmludGYoIkRldmlj
ZSBhbHJlYWR5IHJlbW92ZWRcbiIpOw0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+
Pj4gVGhlIHBhdGNoIGlzIGFscmVhZHkgaW4gMTkuMTEgWzFdIGJ1dCBpdCBpcyBicmVha2luZyB0
aGUNCj4gPj4+Pj4+Pj4gdGVzdHBtZCBob3RwbHVnIHN1cHBvcnQuDQo+ID4+Pj4+Pj4+IEJlZm9y
ZSAnZGV0YWNoX3BvcnRfZGV2aWNlKCknIGNhbGxlZCwgdGhlIHBvcnQgaGFzIGJlZW4gc3RvcHBl
ZA0KPiA+Pj4+Pj4+PiBhbmQgY2xvc2VkIFsyXSwgd2hpY2ggd2lsbCBtYWtlIHBvcnQgZmFpbCBm
cm9tICdwb3J0X2lkX2lzX2ludmFsaWQoKScNCj4gPj4+Pj4+Pj4gY2hlY2sgYW5kIHRoZSBkZXZp
Y2UgcmVtb3ZhbCBwYXRoIG5ldmVyIGZ1bGx5IGNhbGxlZC4NCj4gPj4+Pj4+Pj4gVGhlIGltcGxp
Y2F0aW9uIGlzLCBzaW5jZSBkZXZpY2Ugbm90IGRldGFjaGVkLCB2ZmlvIHJlcXVlc3QNCj4gPj4+
Pj4+Pj4gaW50ZXJydXB0IGtlZXBzIHRyaWdnZXJlZCBjb250aW51b3VzbHkgYW5kIHJlLXN0YXJ0
cyB0aGUgZGV0YWNoDQo+ID4+Pj4+Pj4+IHBhdGgsIGJ1dCBiZWNhdXNlIG9mIHRoZSBoYWxmIGNs
ZWFuZWQgZGV2aWNlIGl0IGZhaWxzIGFuZCBhcHANCj4gPj4+Pj4+Pj4gZ2V0cyBzdHVjayB3aXRo
IGENCj4gPj4+Pj4+IGNvbnRpbnVvdXMgbG9nIFszXS4NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4g
SSB3b25kZXIgaWYgdGhlIGFjdHVhbCBob3RwbHVnIGhhcyBiZWVuIHRlc3RlZCB3aXRoIHRoaXMg
cGF0Y2gsDQo+ID4+Pj4+Pj4+IHRoZSBjb21taXQgbG9nIGlzIG5vdCBjbGVhciBhYm91dCB0aGUg
bW90aXZhdGlvbiBhbmQNCj4gPj4+Pj4+Pj4gaW1wbGljYXRpb24gb2YgdGhlIHBhdGNoLCBJIGFt
IG5vdCBjbGVhciB3aHkgdGhpcyBjaGVjayBpcw0KPiA+Pj4+Pj4+PiBhZGRlZCBidXQgSSBhbSBz
ZW5kaW5nIGEgcGF0Y2ggc29vbiB0byByZW1vdmUgaXQgYmFjay4NCj4gPj4+Pj4+Pg0KPiA+Pj4+
Pj4+IFRoZSBtb3RpdmF0aW9uIG9mIHRoaXMgcGF0Y2ggd2FzIHRvIHByZXZlbnQgZG91YmxlIGRl
dGFjaCBvbg0KPiA+Pj4+Pj4+IHNhbWUgcG9ydCwNCj4gPj4+Pj4+IHNvIHRoZSB1c2VyIGNhbm5v
dCBjYWxsIGRldGFjaCBvZiBpbnZhbGlkIHBvcnQuDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gV2hhdCBp
cyB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgJ2ludmFsaWQgcG9ydCcsIGlmIHlvdSBtZWFuIGRldmlj
ZQ0KPiA+Pj4+Pj4gYWxyZWFkeSBkZXRhY2hlZCBjYXNlLCBpbiB0aGUgc2Vjb25kIGNhbGwgb2Yg
dGhlIGZ1bmN0aW9uICJpZg0KPiA+Pj4+Pj4gKGRldiA9PSBOVUxMKSIgY2hlY2sgc2hvdWxkIHBy
ZXZlbnQgaXQgZ29pbmcgZm9yd2FyZC4NCj4gPj4+Pj4NCj4gPj4+Pj4gTm8sIGV0aGRldiBkb2Vz
bid0IHplcm8gdGhlIGRldmljZSBwb2ludGVyIHdoZW4gaXQgcmVsZWFzZSBhIHBvcnQuDQo+ID4+
Pj4NCj4gPj4+PiBBcyBmYXIgYXMgSSBjYW4gc2VlIGl0IGRvZXMsIHBsZWFzZSBzZWUgYmVsb3cu
DQo+ID4+Pg0KPiA+Pj4gVGhlIGNvZGUgYmVsb3cgaXMgcHJvYmxlbWF0aWMgYmVjYXVzZToNCj4g
Pj4+DQo+ID4+PiAxLiBJdCBpcyB2ZXJ5IGJhZCB0aGF0IHRoZSBhcHBsaWNhdGlvbiBjaGFuZ2lu
ZyBldGhkZXYgc3RydWN0dXJlIGRpcmVjdGx5Lg0KPiA+Pg0KPiA+PiBXaGVyZSB0aGUgYXBwbGlj
YXRpb24gaXMgY2hhbmdpbmcgdGhlIGV0aGRldiBzdHJ1Y3R1cmU/DQo+ID4NCj4gPiBTZWUgaXQg
aW4gdGhlIGZ1bmN0aW9uIHdlIHRhbGsgb246DQo+ID4gcnRlX2V0aF9kZXZpY2VzW3NpYmxpbmdd
LmRldmljZSA9IE5VTEw7DQo+ID4NCj4gPiBUaGUgYXBwbGljYXRpb24gc2hvdWxkbid0IGRvIGl0
IC0gaXQgc2hvdWxkIGJlIGRvbmUgb25seSBieSBldGhkZXYgbGliIG9yIGJ5DQo+IHRoZSBQTURz
Lg0KPiA+DQo+ID4gQXJlIHlvdSBhZ3JlZSBoZXJlPw0KPiANCj4gVGhpcyBpcyByZWFsbHkgbm8g
ZnVuIDooDQo+IA0KPiBJdCBpcyBub3QgZG9uZSBieSBhcHBsaWNhdGlvbiwgSSBhbHJlYWR5IHBy
b3ZpZGVkIHRoZSBjYWxsIHRyYWNlLiBUaGlzIGlzIGRvbmUgYnkNCj4gdGhlIHBhdGggb2YgZHJp
dmVyIC5yZW1vdmUoKS4NCg0KWWVzLCBwcm9iYWJseSwgYnV0IGFsc28gYnkgdGVzdHBtZCBhcHBs
aWNhdGlvbiwgSSBjb3BpZWQgaXQgZnJvbSB0ZXN0cG1kIGFwcGxpY2F0aW9uLg0KDQpEb24ndCB5
b3Ugc2VlIGl0Pw0KDQo+ID4NCj4gPj4gQXBwbGljYXRpb24gY2FsbHMgdGhlICdydGVfZGV2X3Jl
bW92ZSgpJyBBUEksIHdoaWNoIGRvZXMgdGhlIGpvYi4NCj4gPg0KPiA+IEFncmVlLCBUaGlzIGZ1
bmN0aW9uIGlzIGZyZWVpbmcocnRlX2ZyZWUpIHRoZSBydGVfZGV2aWNlIChhY3R1YWxseQ0KPiA+
IG1ha2VzIHRoZSBydGVfZXRoX2RldmljZXNbc2libGluZ10uZGV2aWNlIHBvaW50ZXIgZGFuZ2xl
ZCkgYW5kIHJlbGVhc2VzDQo+IGl0cyByZWxhdGVkIHJlc291cmNlcyB3aGF0IG1ha2VzIHRoZSBk
ZXZpY2UgZGV0YWNoZWQuDQo+IA0KPiBObyBpdCBkb2Vzbid0LCBJIHByb3ZpZGVkIGZ1bGwgY2Fs
bCBzdGFjaywgYW5kIHNob3dlZCB3aGVyZSB0aGUgdmFsdWUgc2V0IHRvDQo+IE5VTEwuDQoNClNl
ZSBhZ2FpbiB0aGUgdGVzdHBtZCBmdW5jdGlvbiAtIGl0ICBkb2VzIGl0IHRvby4NCg0KPiA+DQo+
ID4+PiAyLiBUaGUgYmVsb3cgY29kZSBydW4gb3ZlciB2YWxpZCBwb3J0IG9ubHksIG5vdCBvbiBp
bnZhbGlkDQo+ID4+PiBwb3J0KFVOVVNFRA0KPiA+PiBzdGF0ZSkuDQo+ID4+Pg0KPiA+Pj4gU28s
IHRoZSBkZXZpY2UgcG9pbnRlciB3aWxsIHN0aWxsIGJlIHZhbGlkIGlmIHRoZSBwb3J0IGlzIGlu
dmFsaWQuDQo+ID4+Pg0KPiA+Pj4gQWxsIG9mIHRoaXMgc2hvd3MgdGhhdCB0aGlzIGZ1bmN0aW9u
IHRyeSB0byBkZXRhY2ggb25seSBhIHZhbGlkIHBvcnQNCj4gPj4+IChwcm9iYWJseQ0KPiA+PiBt
YWlubHkgYmVjYXVzZSBpdCBpcyBjYWxsZWQgYnkgVGVzdHBtZCBkZXRhY2ggY29tbWFuZCkuDQo+
ID4+Pg0KPiA+Pj4+PiBTbyBldmVuIGlmIHRoZSBwb3J0IGlzIGluIHVudXNlZCBzdGF0ZSBhbHJl
YWR5IC0gbWVhbnMgaW52YWxpZCwNCj4gPj4+Pj4gdGhlIGRldmljZQ0KPiA+Pj4+IHBvaW50ZXIg
c3RpbGwgbWF5IGJlIHZhbGlkIGFuZCBwb2ludCB0byB0aGUgbGFzdCBwb3J0IHRoYXQgdXNlZCB0
aGUgc2FtZQ0KPiBpZC4NCj4gPj4+Pg0KPiA+Pj4+IElmIHRoZSBwb3J0IGlzIGNsb3NlZCwgaXQg
aXMgdW51c2VkIHN0YXRlLCBhbmQgZXRoZGV2IGxheWVyDQo+ID4+Pj4gcmVzb3VyY2VzIGZyZWVk
IGJ1dCBhcyB5b3Ugc2FpZCBkZXZpY2UgcmVsYXRlZCBzdHJ1Y3R1cmVzIGFyZSBzdGlsbA0KPiA+
Pj4+IHRoZXJlLCBkZXZpY2UgcG9pbnRlciBpcyBzdGlsbCB2YWxpZCBhbmQgaXQgaXMgc3RpbGwg
aW4gcHJvYmVkDQo+ID4+Pj4gZGV2aWNlIGxpc3QgZXRjLi4gV2UgbmVlZCB0byBhYmxlIHRvIGRl
dGFjaCB0aGUgZGV2aWNlIGV2ZW4gYWZ0ZXIgaXQgaXMNCj4gdW51c2VkIHN0YXRlLg0KPiA+Pj4N
Cj4gPj4+IFllcywgYnV0IGRldGFjaCBpcyBmb3IgZGV2aWNlLCBub3QgZm9yIHBvcnQuDQo+ID4+
PiBUaGUgZGV2aWNlIHBvaW50ZXIgbXVzdCBiZSB0YWtlbiBvbmx5IHdoZW4gdGhlIHBvcnQgaXMg
aW4gdmFsaWQgc3RhdGUuDQo+ID4+PiBXaHk/DQo+ID4+PiBCZWNhdXNlIGlmIHRoZSBwb3J0IGlz
IGluIFVOVVNFRCBzdGF0ZSBpdCBpcyBmcmVlIHRvIGJlIGFsbG9jYXRlZA0KPiA+Pj4gYWdhaW4g
YnkNCj4gPj4gZXRoZGV2IGxheWVyIGZvciBvdGhlciBkZXZpY2UsIHRoZW4sIHRoZSBkZXZpY2Ug
cG9pbnRlciBtYXkgcG9pbnQgdG8NCj4gPj4gb3RoZXIgZGV2aWNlLg0KPiA+Pj4NCj4gPg0KPiA+
IERvIHlvdSBhZ3JlZSBvbiB0aGUgYWJvdmUgc3RhdGVtZW50IEkgd3JvdGU/DQo+ID4NCj4gPj4+
PiAic3RvcCAtPiBjbG9zZSAtPiBkZXRhY2giIGlzIGEgbm9ybWFsIG9yZGVyLCB3ZSBzaG91bGRu
J3QgcHJldmVudA0KPiA+Pj4+IGl0LCBidXQgeW91ciBjaGVjayBkb2VzIHByZXZlbnQgaXQuDQo+
ID4+Pg0KPiA+Pj4gWWVzLCB0aGlzIGlzIGdvb2Qgb3JkZXIsIGJ1dCB0aGUgcG9pbnRlciBvZiB0
aGUgZGV2aWNlIHNob3VsZCBiZQ0KPiA+Pj4gdGFrZW4NCj4gPj4gYmVmb3JlIGNsb3NlLg0KPiA+
Pj4gTXkgcGF0Y2ggcHJldmVudCBhY2Nlc3NpbmcgaW52YWxpZCBzdHJ1Y3R1cmUuDQo+ID4+DQo+
ID4+IFRoZSBldGhkZXYgY2xvc2UoKSBkZXZfb3BzLCBmcmVlcyBldGhkZXYgcmVsYXRlZCByZXNv
dXJjZXMsIHRoZQ0KPiA+PiBydGVfZGV2aWNlIGlzIHN0aWxsIHZhbGlkIGluIHRoYXQgc3RydWN0
Lg0KPiA+DQo+ID4gVGhhdOKAmXMgZXhhY3RseSBteSBjb25jZXJuLg0KPiA+IEkgdGhpbmsgeW91
IHdyb25nIGhlcmUsIHRoZSBydGVfZGV2aWNlIG1heSBiZSBpbnZhbGlkIGluIHRoYXQgc3RydWN0
LA0KPiBlc3BlY2lhbGx5IGFmdGVyIGNsb3NlKCk6DQo+ID4NCj4gPiBXaGVuIHRoZSBwb3J0IElE
IGlzIGNsb3NlZCBhbmQgcmVsZWFzZWQsIGl0cyBldGhkZXYgc3RydWN0dXJlIG1vdmVzIHRvDQo+
IFVOVVNFRCBzdGF0ZS4NCj4gPiBXaGVuIGFuIGV0aGRldiBzdHJ1Y3R1cmUgaXMgaW4gVU5VU0VE
IHN0YXRlIGl0IG1heSBiZSBhdHRhY2hlZCBhZ2FpbiB0bw0KPiBhbm90aGVyIHJ0ZV9kZXZpY2Ug
LSBzZWUgZnVuY3Rpb24gcnRlX2V0aF9kZXZfYWxsb2NhdGUuDQo+ID4gQXJlIHlvdSBhZ3JlZSBo
ZXJlPw0KPiA+DQo+ID4gSW4gdGhpcyBjYXNlLCB3aGVuIGEgbmV3IGRldmljZSBpcyBhdHRhY2hl
ZCBhZnRlciBjbG9zZSgpIGFuZCBiZWZvcmUNCj4gZGV0YWNoX3BvcnRfZGV2aWNlKCkgd2UgbWF5
IHJlbW92ZSB3cm9uZyBydGVfZGV2aWNlIGFuZCBjYXVzZSBhIGxvdCBvZg0KPiBwcm9ibGVtcy4N
Cj4gDQo+IFRoZSBwcm9ibGVtIGhlcmUgaXMgcmUtdXNpbmcgdGhlIGV0aGRldiBzdHJ1Y3R1cmUg
d2hlbiBpdCBpcyBjbG9zZWQgYnV0IG5vdA0KPiBmcmVlZCBjb21wbGV0ZWx5LCByZXN1bHRpbmcg
b3ZlcndyaXRpbmcgc29tZSBmaWVsZHMgb2YgaXQuIFRoaXMgaXMgYW5vdGhlciBpc3N1ZQ0KPiBh
bmQgY2FuIGJlIGZpeGVkIGluIHRoZSBhbGxvYyBwYXRoLg0KDQpTb3JyeSwgZG9uJ3QgYWdyZWUg
d2l0aCB5b3UgaGVyZS4NClBvcnQgd2hpY2ggaXMgY2xvc2VkIGNhbiBiZSBhbGxvY2F0ZWQgYWdh
aW4gZm9yIG90aGVyIGRldmljZSAtIHRoaXMgaXMgdGhlIGJhc2ljIGZvciBob3QtcGx1ZyBtZWNo
YW5pc20gaW4gZHBkay4NClJlYWRpbmcgdGhlIHJ0ZV9kZXZpY2UgZnJvbSBwb3J0IHdoaWNoIHdh
cyBjbG9zZWQgbWF5IHJlbW92ZSBvdGhlciBydGVfZGV2aWNlIHdoaWNoIGlzIG5vdCByZWxhdGVk
Lg0KDQpBZ3JlZSB0aGF0IHRoZSBQTUQgc2hvdWxkIGNsZWFyIHRoZSBldGhkZXYgc3RydWN0dXJl
IGluIHJlbW92ZSwgbWx4NSBkb2Vzbid0IGRvIGl0IGFuZCBzaG91bGQgYmUgZml4ZWQsIEkgZG9u
J3Qga25vdyBhYm91dCBvdGhlciBQTURTLg0KQnV0IHRoaXMgaXMgbm90IHRoZSBpc3N1ZSBJIHRh
bGsgYWJvdXQuDQoNClRlc3RwbWQgc2hvdWxkbid0IHJlYWQgZGV2aWNlIHBvaW50ZXIgZnJvbSBw
b3J0IHdoaWNoIHdhcyBjbG9zZWQgLSB0aGlzIGlzIHJhY2UuDQogIA0KPiA+DQo+ID4gRG8geW91
IHVuZGVyc3RhbmQgdGhhdD8NCj4gPg0KPiA+IE9uZSBtb3JlIHByb2JsZW1hdGljIGNhc2UgaXMg
YSB1c2VyIG1pc3Rha2UgYnkgdGhlIFRlc3RwbWQgY29tbWFuZA0KPiB3aGljaCBtYXkgY2F1c2Ug
c2VnZmF1bHQgaW4gdGhlIGdvb2QgY2FzZSBhbmQgbWVtb3J5IG92ZXJyaWRpbmcgaW4gdGhlDQo+
IHdvcnN0IGNhc2UgKG15IHBhdGNoIGNhc2UpOg0KPiA+DQo+ID4gcG9ydCBzdG9wIGFsbA0KPiA+
IHBvcnQgZGV0YWNoIDANCj4gPiBwb3J0IGRldGFjaCAwDQo+ID4NCj4gPiBkZXRhY2ggdGhlIHNh
bWUgcG9ydCB0d2ljZSB3aWxsIGNhdXNlIHJlZmVyZW5jaW5nIG9mIGZyZWVkIHBvaW50ZXIgb2YN
Cj4gcnRlX2RldmljZS4NCj4gPg0KPiA+DQo+ID4gQWxsIG9mIHRoYXQgaXMgYmVjYXVzZSBUZXN0
cG1kIHRha2VzIGV0aGRldiBzdHJ1Y3R1cmUgaW5mb3JtYXRpb24gZnJvbQ0KPiBpbnZhbGlkIGV0
aGRldiBzdHJ1Y3R1cmUuDQo+ID4NCj4gPiBNeSBwYXRjaCBwcmV2ZW50cyBpdC4NCj4gDQo+IEZv
ciB0aGlzIGNhc2UgSSBhbSBhbHJlYWR5IGdldHRpbmcgIkRldmljZSBhbHJlYWR5IHJlbW92ZWQi
IG1lc3NhZ2UgZnJvbQ0KPiAnZGV0YWNoX3BvcnRfZGV2aWNlKCknIGZ1bmN0aW9uLg0KPiANCj4g
WW91ciBwYXRjaCBpcyBkb2luZyB0d28gdGhpbmdzOg0KPiAtIEhpZGluZyB0aGUgZmFjdCB0aGF0
IFBNRCAucmVtb3ZlKCkgaXMgbm90IHNldHRpbmcgdGhlIGRldmljZSBwb2ludGVyIHRvIG51bGwN
Cg0KVGhlIGRldmljZSBwb2ludGVyIGlzIHplcm8gYWxzbyBieSB0ZXN0cG1kIC0gdGhlIGhpZGlu
ZyBpcyBoZXJlLg0KDQo+IC0gQnJlYWtpbmcgdGhlIGhvdHBsdWcgZnVuY3Rpb25hbGl0eQ0KDQpU
byBiZSBwcmVjaXNlIC0gc3RheSBpdCBicm9rZW4uDQoNCj4gDQo+ID4NCj4gPg0KPiA+DQo+ID4+
IEFuZCB5ZXMgeW91ciBwYXRjaCBwcmV2ZW50cyBhY2Nlc3NpbmcgdGhlbSBhbmQgcHJldmVudHMg
aG90cGx1Zw0KPiA+PiByZW1vdmUgdGhlIGRldmljZS4NCj4gPj4NCj4gPg0KPiA+IFllcywgbXkg
cGF0Y2ggaXMgbm90IGdvb2QsIHNvbHZlZCBpc3N1ZXMgYW5kIGNhdXNlZCBhIG5ldyBvbmUuDQo+
ID4NCj4gPiBBZ3JlZSB0aGF0IHdlIG5lZWQgYSBuZXcgZml4LCBteSBzdWdnZXN0aW9uIGhlcmUg
aXM6DQo+ID4NCj4gPiAxLiBJbiB0aGUgVGVzdHBtZCBpbnRlcm5hbCBtYW5hZ2VtZW50IGZvciBo
dXRwbHVnIChybXZfcG9ydF9jYWxsYmFjayk6DQo+ID4gCUNhbGwgc3RvcCgpDQo+ID4gCVRha2Ug
cnRlX2RldmljZSBwb2ludGVyKCBiZWZvcmUgcG9ydCBjbG9zZSkuDQo+ID4gCUNhbGwgY2xvc2Uo
KS4NCj4gPiAJSWYgbm8gb3RoZXIgdmFsaWQgcG9ydCBmb3IgdGhlIHJ0ZV9kZXZpY2U6DQo+ID4g
CQljYWxsIGRldGFjaCgpIGJ5IHRoZSBzYXZlZCBydGVfZGV2aWNlIHBvaW50ZXIuDQo+IA0KPiBO
b3Qgc3VyZSBhYm91dCBwdXNoaW5nIG1vcmUgdG8gdGhlIGFwcGxpY2F0aW9uLCBsaWtlIGNoZWNr
aW5nIGlmIGFueSBvdGhlcg0KPiBwb3J0IHVzaW5nIGEgZGV2aWNlIGV0Yy4uDQoNCkFuZCBmb3Ig
ZGV2aWNlIHBvaW50ZXIgYmVmb3JlIGNsb3NlKCksIGRvIHlvdSBhZ3JlZT8NCg0KPiBBcyBmYXIg
YXMgSSB1bmRlcnN0YW5kIHlvdXIgY29uY2VybiBpcyB3aGVuIG11bHRpcGxlIGV0aGRldiBhcmUg
dXNpbmcgc2FtZQ0KPiBkZXZpY2UsIHdoeSBub3QgaGFuZGxlIHRoaXMgaW4gZHJpdmVyIC5yZW1v
dmUoKSBwYXRoLCBsaWtlIGRldGVjdCBpZiBkZXZpY2Ugc3RpbGwNCj4gbmVlZHMgdG8gYmUgdXNl
ZCBhbmQgaWYgc28gZnJlZSBvbmx5IGV0aGRldiByZXNvdXJjZXMgYW5kIHJldHVybiBlcnJvciwg
dGhpcw0KPiBlcnJvciB3aWxsIHByZXZlbnQgZGV2aWNlIHJlc291cmNlcyB0byBiZSBmcmVlZDoN
Cj4gDQo+IHBjaV91bnBsdWcoKQ0KPiAgIHJldCA9IHJ0ZV9wY2lfZGV0YWNoX2RldihwZGV2KTsN
Cj4gICBpZiAocmV0ID09IDApDQo+ICAgICBydGVfcGNpX3JlbW92ZV9kZXZpY2UocGRldik7DQo+
ICAgICBydGVfZGV2YXJnc19yZW1vdmUoZGV2LT5kZXZhcmdzKTsNCj4gICAgIC4uLg0KPiANCj4g
VGhpcyB3aWxsIGNhdXNlIHRoZSBhcHBsaWNhdGlvbiByZWNlaXZlIGFuIGVycm9yIGJ1dCB0aGlz
IGlzIGtpbmQgb2YgdHJ1ZSBiZWNhdXNlDQo+IGFsbCByZXNvdXJjZXMgYXJlIG5vdCBmcmVlZCBi
ZWNhdXNlIHRoZXkgYXJlIHNoYXJlZC4NCj4gDQo+IFdoZW4gbGFzdCBldGhkZXYgZGV0YWNoZWQs
IGRyaXZlciBjYW4gc2VuZCBzdWNjZXNzIGNhdXNpbmcgYWxsIGRldmljZQ0KPiByZXNvdXJjZXMg
dG8gYmUgZnJlZWQuDQoNCkNhbiBiZSBnb29kIGZvciBtdWx0aS1wb3J0IGhhbmRsaW5nLCBidXQg
dGVzdHBtZCBzaG91bGQgaGFuZGxlIHRoaXMgZXJyb3IgYW5kIHJlcG9ydCBpdCBjb3JyZWN0bHku
DQoNCj4gPiAyLiBSZXBsYWNlIHRoZSBUZXN0cG1kIGNvbW1hbmQgbGluZSBmb3IgInBvcnQgZGV0
YWNoIiB3aXRoICJkZXRhY2ggW3J0ZQ0KPiBkZXZpY2UgbmFtZV0iOg0KPiA+IAlXaHk/DQo+ID4g
CURldGFjaCBieSBwb3J0IGlzIHByb2JsZW1hdGljOg0KPiA+IAkxLiBJZiB0aGUgcG9ydCBpcyBj
bG9zZWQgLSBUZXN0cG1kIGNhbm5vdCBnZXQgaXRzIHJ0ZV9kZXZpY2UgZnJvbSB0aGUNCj4gcmVs
YXRlZCBldGhkZXYgcG9ydCBzdHJ1Y3R1cmUuDQo+ID4gCTIuIElmIHRoZSBwb3J0IGlzIG5vdCBj
bG9zZWQgLSBJdCBpcyBub3Qgc2FmZSB0byBkZXRhY2ggaXQuDQo+ID4gCTMuIEF0dGFjaCBpcyBk
b25lIGJ5IHJ0ZV9kZXZpY2UgbmFtZSwgZGV0YWNoIHNob3VsZCBiZSBpbiBzYW1lIHdheS4NCj4g
DQo+IFRlc3RwbWQgY2FuIGZpcnN0IGNsb3NlKCkgbGF0ZXIgZGV0YWNoKCkuDQoNClllcywgY2xv
c2UgYnkgcG9ydCwgZGV0YWNoIGJ5IHJ0ZV9kZXZpY2UgbmFtZSAoZm9yIGV4YW1wbGUgcGNpIG5h
bWUpLg0KVGhhdOKAmXMgd2hhdCBJIHNhaWQuDQoNCg0KPiBJZiBpdCBpcyBjbG9zZWQgYWxyZWFk
eSwgYWdyZWVkIHRoYXQgbmV3IGF0dGFjaGVkIGRldmljZXMgc2hvdWxkbid0IGJlIGFibGUgdG8N
Cj4gdGhpcyBzdHJ1Y3QgdW50aWwgaXQgaXMgZnJlZWQgY29tcGxldGVseS4gQnV0IHRoaXMgaXMg
a2luZCBvZiBlZGdlIGNhc2UsIGJlY2F1c2UgaXQNCj4gcmVxdWlyZWQgbmV3IGRldmljZSB0byBi
ZSBhdHRhY2hlZCBhZnRlciBvbGQgb25lIGNsb3NlZCBidXQgYmVmb3JlIGl0IGlzDQo+IGRldGFj
aGVkLg0KPiANCj4gPiAgQXJlIHlvdSBhZ3JlZT8NCg0KVGhpcyBpcyByYWNlLCBubyBlZGdlLg0K
V2hhdCBpcyAiZnJlZWQgY29tcGxldGVseSI/DQpJTU8gaXQgaXMgd2hlbiB0aGUgcG9ydCBpcyBp
biBVTlVTRUQgc3RhdGUgKGFmdGVyIGNsb3NlXHJlbGVhc2UpLg0KDQpIb3RwbHVnIGNhbiBiZSB0
cmlnZ2VyZWQgaW50ZXJuYWxseSBpbiBwYXJhbGxlbC4NCg0KPiA+DQo+ID4gSSBob3BlIHlvdSB1
bmRlcnN0YW5kIG5vdy4NCj4gPg0KPiA+Pj4gQW5kIHllcywgVGVzdHBtZCBkZXRhY2ggc3RheXMg
YnJva2VuIGFmdGVyIG15IHBhdGNoIGFuZCBhZnRlciB0aGlzDQo+ID4+PiBwYXRjaA0KPiA+PiB0
b28uDQo+ID4+Pg0KPiA+Pj4NCj4gPj4+Pg0KPHNuaXA+DQo+ID4+IFRvIHNpbXBsaWZ5IHRoaW5n
cywgY2FuIHlvdSBwbGVhc2UgY2xhcmlmeSB3aGF0IGVycm9yIGFyZSB5b3UgZ2V0dGluZw0KPiA+
PiB3aXRoIHRoaXMgcGF0Y2gsIGFuZCBjYW4geW91IHBsZWFzZSBnaXZlIHNvbWUgZGV0YWlscyBo
b3cgdG8NCj4gPj4gcmVwcm9kdWNlIGl0PyBTbyBJIGNhbiBkZWJ1ZyB0aGUgaXNzdWUgeW91IGFy
ZSBoYXZpbmcuDQo+ID4NCj4gPiBBZGRlZCBkZXRhaWxzIGFib3ZlLCBob3BlIGV2ZXJ5dGhpbmcg
aXMgY2xlYXIgd2hlbiB5b3UgcmVhZCB0aGlzIGxpbmUNCj4gPiDwn5iKDQo+IA0KPiBPdmVyYWxs
IEkgYmVsaWV2ZSB0aGlzIGFsbCBmdXNzIGlzIGFib3V0IHRoZSBQTUQgeW91IGFyZSB0ZXN0aW5n
IG5vdCBjbGVhbmluZyB0aGUNCj4gJ3J0ZV9ldGhfZGV2aWNlc1twb3J0X2lkXS5kZXZpY2UnIHBv
aW50ZXIgd2hpY2ggc2hvdWxkIGJlIGhhbmRsZWQgaW4gZHJpdmVyDQo+IGxldmVsIGJ1dCB5b3Ug
YXJlIHRyeWluZyB0byBmaXggdGhpcyBpbiB0ZXN0cG1kIGNhdXNpbmcgaXQgZmFpbC4NCg0KU29y
cnksIGJ1dCBubywgSXQgaXMgYWxsIGFib3V0IGhvdHBsdWcgcmFjZS4NCg0KRXZlbiBpZiB0aGUg
UE1EIGNsZWFyIHRoZSBkZXZpY2UgcG9pbnRlciwgdGhlIHRlc3RwbWQgc3RpbGwgbWF5IHJlbGVh
c2Ugd3JvbmcgcnRlX2RldmljZS4NCjxzbmlwPg0K