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 E278FA0530 for ; Mon, 3 Feb 2020 18:10:32 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D70951BFB1; Mon, 3 Feb 2020 18:10:32 +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 To: Ferruh Yigit , "Yigit, Ferruh" , "dev@dpdk.org" , Bernard Iremonger CC: Gaetan Rivet , Thomas Monjalon , "stable@dpdk.org" , David Marchand , Jeff Guo , Qi Zhang 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: References: <1573548459-6931-1-git-send-email-matan@mellanox.com> <1573548459-6931-2-git-send-email-matan@mellanox.com> <19a86d69-9bcc-42c9-b000-98b3860de42f@intel.com> <4df501fa-06d8-744d-27cd-f5742992e109@intel.com> <89e4cfea-ccfa-c7c1-c201-6ca3ff845267@intel.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: 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-stable] [dpdk-dev] [PATCH 2/2] app/testpmd: fix invalid port detaching X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" 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