From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0041.outbound.protection.outlook.com [104.47.2.41]) by dpdk.org (Postfix) with ESMTP id 774F41B69B for ; Sat, 16 Jun 2018 10:27:21 +0200 (CEST) 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=uU3TSlG1kbmUbmYw33n5jyMzHxiJHXA+Ct2xdKatUP8=; b=BLEAnUCwcPzDN6ylptA8ZISjJqlol0+hsB3CcxEitjHgFEAHsotBuk0N3psNLyziUqolV/xzQeGGddki0cj3G+aqZBiL+Aupk5gt+oP88to9MdwwQi8mKSaqVcV2ieGApTwmJjq3WMv4IVnooWVb4YyQdo3z/N+nzU7Cnq4tZrs= Received: from AM5PR0501MB2420.eurprd05.prod.outlook.com (10.169.149.146) by AM5PR0501MB2146.eurprd05.prod.outlook.com (10.167.215.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.863.14; Sat, 16 Jun 2018 08:27:20 +0000 Received: from AM5PR0501MB2420.eurprd05.prod.outlook.com ([fe80::e852:af25:231c:79c1]) by AM5PR0501MB2420.eurprd05.prod.outlook.com ([fe80::e852:af25:231c:79c1%10]) with mapi id 15.20.0863.016; Sat, 16 Jun 2018 08:27:20 +0000 From: "Xueming(Steven) Li" To: Adrien Mazarguil , Shahaf Shuler CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v2 2/7] net/mlx5: remove redundant objects in probe code Thread-Index: AQHUA7qsJKyveZ2PW0KKSHxEtxWOb6RikC1Q Date: Sat, 16 Jun 2018 08:27:20 +0000 Message-ID: References: <20180525161814.13873-1-adrien.mazarguil@6wind.com> <20180614083047.10812-1-adrien.mazarguil@6wind.com> <20180614083047.10812-3-adrien.mazarguil@6wind.com> In-Reply-To: <20180614083047.10812-3-adrien.mazarguil@6wind.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [180.174.142.249] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM5PR0501MB2146; 7:e9drPt5FLATV6m4pdJWd0CRBLJ+J7YToCJpjVwd2M0bjUKFSLw9084Yp7vkilvl4Wt79D95IihIKlax+zsO4gXi9Ra9a1kozzub9oiucjgRniQdBFLLhMU1wUT0G/wrxDss7cIk/CkuYE42De8th+JtfH1PmXAsJtOY+KQiCDumpZuxyb7AI8QoPEIWc3824Y5C6qKBw+i0udoG4TvuLnnrKg9IbCAzEilwD9VpZvXrKV0riO5as+OsmSNLKF9z8 x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 2aee6593-f7e7-4f20-770f-08d5d362fa7c x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(5600026)(711020)(2017052603328)(7153060)(7193020); SRVR:AM5PR0501MB2146; x-ms-traffictypediagnostic: AM5PR0501MB2146: authentication-results: spf=none (sender IP is ) smtp.mailfrom=xuemingl@mellanox.com; x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(93006095)(93001095)(3231254)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:AM5PR0501MB2146; BCL:0; PCL:0; RULEID:; SRVR:AM5PR0501MB2146; x-forefront-prvs: 0705EB1700 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(376002)(366004)(39860400002)(396003)(39380400002)(199004)(189003)(13464003)(6436002)(9686003)(33656002)(5660300001)(478600001)(7696005)(3660700001)(5250100002)(2906002)(6116002)(97736004)(3846002)(14454004)(6636002)(102836004)(59450400001)(53546011)(55016002)(6506007)(186003)(3280700002)(68736007)(305945005)(7736002)(105586002)(74316002)(106356001)(26005)(76176011)(25786009)(476003)(316002)(66066001)(486006)(86362001)(8936002)(110136005)(81156014)(81166006)(229853002)(6246003)(53936002)(4326008)(99286004)(2900100001)(11346002)(446003)(5890100001)(309714004); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0501MB2146; H:AM5PR0501MB2420.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: c3H0T24AI/7FZkT/Xj5w0lIFOsdAE8sfbqUeYuf9rXP34T9pw3ak/awLms5ole7GYpPIo0X/ZYHwqGk0ovC122C3J9sMcYSsm1mpP619q8vIPSaiGXCI4nSM9YP6+5HwVOWlFga/z+ruWXmdv7pPoN1jgl0bDTgIAvhwRyMpCUyEDifAFHF0Ntn1p5U4LbrY spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM 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: 2aee6593-f7e7-4f20-770f-08d5d362fa7c X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jun 2018 08:27:20.4929 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0501MB2146 Subject: Re: [dpdk-dev] [PATCH v2 2/7] net/mlx5: remove redundant objects in probe code 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: , X-List-Received-Date: Sat, 16 Jun 2018 08:27:21 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2IDxkZXYtYm91bmNl c0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIEFkcmllbiBNYXphcmd1aWwNCj4gU2VudDogVGh1cnNk YXksIEp1bmUgMTQsIDIwMTggNDozNSBQTQ0KPiBUbzogU2hhaGFmIFNodWxlciA8c2hhaGFmc0Bt ZWxsYW5veC5jb20+DQo+IENjOiBkZXZAZHBkay5vcmcNCj4gU3ViamVjdDogW2RwZGstZGV2XSBb UEFUQ0ggdjIgMi83XSBuZXQvbWx4NTogcmVtb3ZlIHJlZHVuZGFudCBvYmplY3RzIGluIHByb2Jl IGNvZGUNCj4gDQo+IFRoaXMgcGF0Y2ggZ2V0cyByaWQgb2YgcmVkdW5kYW50IGNhbGxzIHRvIG9w ZW4gdGhlIGRldmljZSBhbmQgcXVlcnkgaXRzIGF0dHJpYnV0ZXMgaW4gb3JkZXIgdG8NCj4gc2lt cGxpZnkgdGhlIGNvZGUuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBBZHJpZW4gTWF6YXJndWlsIDxh ZHJpZW4ubWF6YXJndWlsQDZ3aW5kLmNvbT4NCj4gLS0NCj4gdjIgY2hhbmdlczoNCj4gDQo+IC0g TWlub3IgaW5kZW50IGZpeCBvbiBleGlzdGluZyBjb2RlLg0KPiAtLS0NCj4gIGRyaXZlcnMvbmV0 L21seDUvbWx4NS5jIHwgNjQgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCj4gIDEgZmlsZSBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAzNCBkZWxldGlvbnMo LSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9tbHg1L21seDUuYyBiL2RyaXZlcnMv bmV0L21seDUvbWx4NS5jIGluZGV4IDNiZGNiMzk3MC4uMWE1MzkxZTYzIDEwMDY0NA0KPiAtLS0g YS9kcml2ZXJzL25ldC9tbHg1L21seDUuYw0KPiArKysgYi9kcml2ZXJzL25ldC9tbHg1L21seDUu Yw0KPiBAQCAtNjU0LDEwICs2NTQsMTAgQEAgbWx4NV9wY2lfcHJvYmUoc3RydWN0IHJ0ZV9wY2lf ZHJpdmVyICpwY2lfZHJ2IF9fcnRlX3VudXNlZCwgIHsNCj4gIAlzdHJ1Y3QgaWJ2X2RldmljZSAq Kmxpc3QgPSBOVUxMOw0KPiAgCXN0cnVjdCBpYnZfZGV2aWNlICppYnZfZGV2Ow0KPiArCXN0cnVj dCBpYnZfY29udGV4dCAqY3R4ID0gTlVMTDsNCj4gKwlzdHJ1Y3QgaWJ2X2RldmljZV9hdHRyX2V4 IGF0dHI7DQo+ICAJc3RydWN0IG1seDVkdl9jb250ZXh0IGR2X2F0dHIgPSB7IC5jb21wX21hc2sg PSAwIH07DQo+ICAJaW50IGVyciA9IDA7DQo+IC0Jc3RydWN0IGlidl9jb250ZXh0ICphdHRyX2N0 eCA9IE5VTEw7DQo+IC0Jc3RydWN0IGlidl9kZXZpY2VfYXR0cl9leCBkZXZpY2VfYXR0cjsNCj4g IAl1bnNpZ25lZCBpbnQgdmYgPSAwOw0KPiAgCXVuc2lnbmVkIGludCBtcHM7DQo+ICAJdW5zaWdu ZWQgaW50IGNxZV9jb21wOw0KPiBAQCAtNzE0LDEyICs3MTQsMTIgQEAgbWx4NV9wY2lfcHJvYmUo c3RydWN0IHJ0ZV9wY2lfZHJpdmVyICpwY2lfZHJ2IF9fcnRlX3VudXNlZCwNCj4gIAkJICAgICAg IFBDSV9ERVZJQ0VfSURfTUVMTEFOT1hfQ09OTkVDVFg1VkYpIHx8DQo+ICAJCSAgICAgIChwY2lf ZGV2LT5pZC5kZXZpY2VfaWQgPT0NCj4gIAkJICAgICAgIFBDSV9ERVZJQ0VfSURfTUVMTEFOT1hf Q09OTkVDVFg1RVhWRikpOw0KPiAtCQlhdHRyX2N0eCA9IG1seDVfZ2x1ZS0+b3Blbl9kZXZpY2Uo bGlzdFtpXSk7DQo+ICsJCWN0eCA9IG1seDVfZ2x1ZS0+b3Blbl9kZXZpY2UobGlzdFtpXSk7DQo+ ICAJCXJ0ZV9lcnJubyA9IGVycm5vOw0KPiAgCQllcnIgPSBydGVfZXJybm87DQo+ICAJCWJyZWFr Ow0KPiAgCX0NCj4gLQlpZiAoYXR0cl9jdHggPT0gTlVMTCkgew0KPiArCWlmIChjdHggPT0gTlVM TCkgew0KPiAgCQlzd2l0Y2ggKGVycikgew0KPiAgCQljYXNlIDA6DQo+ICAJCQlEUlZfTE9HKEVS UiwNCj4gQEAgLTc0OCw3ICs3NDgsNyBAQCBtbHg1X3BjaV9wcm9iZShzdHJ1Y3QgcnRlX3BjaV9k cml2ZXIgKnBjaV9kcnYgX19ydGVfdW51c2VkLCAgI2lmZGVmDQo+IEhBVkVfSUJWX0RFVklDRV9T VFJJRElOR19SUV9TVVBQT1JUDQo+ICAJZHZfYXR0ci5jb21wX21hc2sgfD0gTUxYNURWX0NPTlRF WFRfTUFTS19TVFJJRElOR19SUTsgICNlbmRpZg0KPiAtCW1seDVfZ2x1ZS0+ZHZfcXVlcnlfZGV2 aWNlKGF0dHJfY3R4LCAmZHZfYXR0cik7DQo+ICsJbWx4NV9nbHVlLT5kdl9xdWVyeV9kZXZpY2Uo Y3R4LCAmZHZfYXR0cik7DQo+ICAJaWYgKGR2X2F0dHIuZmxhZ3MgJiBNTFg1RFZfQ09OVEVYVF9G TEFHU19NUFdfQUxMT1dFRCkgew0KPiAgCQlpZiAoZHZfYXR0ci5mbGFncyAmIE1MWDVEVl9DT05U RVhUX0ZMQUdTX0VOSEFOQ0VEX01QVykgew0KPiAgCQkJRFJWX0xPRyhERUJVRywgImVuaGFuY2Vk IE1QVyBpcyBzdXBwb3J0ZWQiKTsgQEAgLTgyMiwyMyArODIyLDIwIEBADQo+IG1seDVfcGNpX3By b2JlKHN0cnVjdCBydGVfcGNpX2RyaXZlciAqcGNpX2RydiBfX3J0ZV91bnVzZWQsDQo+ICAJRFJW X0xPRyhXQVJOSU5HLCAiTVBMUyBvdmVyIEdSRS9VRFAgdHVubmVsIG9mZmxvYWRpbmcgZGlzYWJs ZWQgZHVlIHRvIg0KPiAgCQkiIG9sZCBPRkVEL3JkbWEtY29yZSB2ZXJzaW9uIG9yIGZpcm13YXJl IGNvbmZpZ3VyYXRpb24iKTsgICNlbmRpZg0KPiAtCWVyciA9IG1seDVfZ2x1ZS0+cXVlcnlfZGV2 aWNlX2V4KGF0dHJfY3R4LCBOVUxMLCAmZGV2aWNlX2F0dHIpOw0KPiArCWVyciA9IG1seDVfZ2x1 ZS0+cXVlcnlfZGV2aWNlX2V4KGN0eCwgTlVMTCwgJmF0dHIpOw0KPiAgCWlmIChlcnIpIHsNCj4g IAkJREVCVUcoImlidl9xdWVyeV9kZXZpY2VfZXgoKSBmYWlsZWQiKTsNCj4gIAkJZ290byBlcnJv cjsNCj4gIAl9DQo+IC0JRFJWX0xPRyhJTkZPLCAiJXUgcG9ydChzKSBkZXRlY3RlZCIsDQo+IC0J CWRldmljZV9hdHRyLm9yaWdfYXR0ci5waHlzX3BvcnRfY250KTsNCj4gLQlmb3IgKGkgPSAwOyBp IDwgZGV2aWNlX2F0dHIub3JpZ19hdHRyLnBoeXNfcG9ydF9jbnQ7IGkrKykgew0KPiArCURSVl9M T0coSU5GTywgIiV1IHBvcnQocykgZGV0ZWN0ZWQiLCBhdHRyLm9yaWdfYXR0ci5waHlzX3BvcnRf Y250KTsNCj4gKwlmb3IgKGkgPSAwOyBpIDwgYXR0ci5vcmlnX2F0dHIucGh5c19wb3J0X2NudDsg aSsrKSB7DQo+ICAJCWNoYXIgbmFtZVtSVEVfRVRIX05BTUVfTUFYX0xFTl07DQo+ICAJCWludCBs ZW47DQo+ICAJCXVpbnQzMl90IHBvcnQgPSBpICsgMTsgLyogcG9ydHMgYXJlIGluZGV4ZWQgZnJv bSBvbmUgKi8NCj4gLQkJc3RydWN0IGlidl9jb250ZXh0ICpjdHggPSBOVUxMOw0KPiAgCQlzdHJ1 Y3QgaWJ2X3BvcnRfYXR0ciBwb3J0X2F0dHI7DQo+ICAJCXN0cnVjdCBpYnZfcGQgKnBkID0gTlVM TDsNCj4gIAkJc3RydWN0IHByaXYgKnByaXYgPSBOVUxMOw0KPiAgCQlzdHJ1Y3QgcnRlX2V0aF9k ZXYgKmV0aF9kZXYgPSBOVUxMOw0KPiAtCQlzdHJ1Y3QgaWJ2X2RldmljZV9hdHRyX2V4IGRldmlj ZV9hdHRyX2V4Ow0KPiAgCQlzdHJ1Y3QgZXRoZXJfYWRkciBtYWM7DQo+ICAJCXN0cnVjdCBtbHg1 X2Rldl9jb25maWcgY29uZmlnID0gew0KPiAgCQkJLmNxZV9jb21wID0gY3FlX2NvbXAsDQo+IEBA IC04NjUsNyArODYyLDcgQEAgbWx4NV9wY2lfcHJvYmUoc3RydWN0IHJ0ZV9wY2lfZHJpdmVyICpw Y2lfZHJ2IF9fcnRlX3VudXNlZCwNCj4gIAkJbGVuID0gc25wcmludGYobmFtZSwgc2l6ZW9mKG5h bWUpLCBQQ0lfUFJJX0ZNVCwNCj4gIAkJCSBwY2lfZGV2LT5hZGRyLmRvbWFpbiwgcGNpX2Rldi0+ YWRkci5idXMsDQo+ICAJCQkgcGNpX2Rldi0+YWRkci5kZXZpZCwgcGNpX2Rldi0+YWRkci5mdW5j dGlvbik7DQo+IC0JCWlmIChkZXZpY2VfYXR0ci5vcmlnX2F0dHIucGh5c19wb3J0X2NudCA+IDEp DQo+ICsJCWlmIChhdHRyLm9yaWdfYXR0ci5waHlzX3BvcnRfY250ID4gMSkNCj4gIAkJCXNucHJp bnRmKG5hbWUgKyBsZW4sIHNpemVvZihuYW1lKSwgIiBwb3J0ICV1IiwgaSk7DQo+ICAJCWlmIChy dGVfZWFsX3Byb2Nlc3NfdHlwZSgpID09IFJURV9QUk9DX1NFQ09OREFSWSkgew0KPiAgCQkJZXRo X2RldiA9IHJ0ZV9ldGhfZGV2X2F0dGFjaF9zZWNvbmRhcnkobmFtZSk7DQo+IEBAIC05MDcsNyAr OTA0LDggQEAgbWx4NV9wY2lfcHJvYmUoc3RydWN0IHJ0ZV9wY2lfZHJpdmVyICpwY2lfZHJ2IF9f cnRlX3VudXNlZCwNCj4gIAkJCWNvbnRpbnVlOw0KPiAgCQl9DQo+ICAJCURSVl9MT0coREVCVUcs ICJ1c2luZyBwb3J0ICV1IiwgcG9ydCk7DQo+IC0JCWN0eCA9IG1seDVfZ2x1ZS0+b3Blbl9kZXZp Y2UoaWJ2X2Rldik7DQo+ICsJCWlmICghY3R4KQ0KPiArCQkJY3R4ID0gbWx4NV9nbHVlLT5vcGVu X2RldmljZShpYnZfZGV2KTsNCj4gIAkJaWYgKGN0eCA9PSBOVUxMKSB7DQo+ICAJCQllcnIgPSBF Tk9ERVY7DQo+ICAJCQlnb3RvIHBvcnRfZXJyb3I7DQo+IEBAIC05NDksNyArOTQ3LDcgQEAgbWx4 NV9wY2lfcHJvYmUoc3RydWN0IHJ0ZV9wY2lfZHJpdmVyICpwY2lfZHJ2IF9fcnRlX3VudXNlZCwN Cj4gIAkJcHJpdi0+Y3R4ID0gY3R4Ow0KPiAgCQlzdHJuY3B5KHByaXYtPmliZGV2X3BhdGgsIHBy aXYtPmN0eC0+ZGV2aWNlLT5pYmRldl9wYXRoLA0KPiAgCQkJc2l6ZW9mKHByaXYtPmliZGV2X3Bh dGgpKTsNCj4gLQkJcHJpdi0+ZGV2aWNlX2F0dHIgPSBkZXZpY2VfYXR0cjsNCj4gKwkJcHJpdi0+ ZGV2aWNlX2F0dHIgPSBhdHRyOw0KPiAgCQlwcml2LT5wb3J0ID0gcG9ydDsNCj4gIAkJcHJpdi0+ cGQgPSBwZDsNCj4gIAkJcHJpdi0+bXR1ID0gRVRIRVJfTVRVOw0KPiBAQCAtOTYwLDE3ICs5NTgs MTIgQEAgbWx4NV9wY2lfcHJvYmUoc3RydWN0IHJ0ZV9wY2lfZHJpdmVyICpwY2lfZHJ2IF9fcnRl X3VudXNlZCwNCj4gIAkJCQlzdHJlcnJvcihydGVfZXJybm8pKTsNCj4gIAkJCWdvdG8gcG9ydF9l cnJvcjsNCj4gIAkJfQ0KPiAtCQllcnIgPSBtbHg1X2dsdWUtPnF1ZXJ5X2RldmljZV9leChjdHgs IE5VTEwsICZkZXZpY2VfYXR0cl9leCk7DQo+IC0JCWlmIChlcnIpIHsNCj4gLQkJCURSVl9MT0co RVJSLCAiaWJ2X3F1ZXJ5X2RldmljZV9leCgpIGZhaWxlZCIpOw0KPiAtCQkJZ290byBwb3J0X2Vy cm9yOw0KPiAtCQl9DQo+IC0JCWNvbmZpZy5od19jc3VtID0gISEoZGV2aWNlX2F0dHJfZXguZGV2 aWNlX2NhcF9mbGFnc19leCAmDQo+ICsJCWNvbmZpZy5od19jc3VtID0gISEoYXR0ci5kZXZpY2Vf Y2FwX2ZsYWdzX2V4ICYNCj4gIAkJCQkgICAgSUJWX0RFVklDRV9SQVdfSVBfQ1NVTSk7DQo+ICAJ CURSVl9MT0coREVCVUcsICJjaGVja3N1bSBvZmZsb2FkaW5nIGlzICVzc3VwcG9ydGVkIiwNCj4g IAkJCShjb25maWcuaHdfY3N1bSA/ICIiIDogIm5vdCAiKSk7DQo+ICAjaWZkZWYgSEFWRV9JQlZf REVWSUNFX0NPVU5URVJTX1NFVF9TVVBQT1JUDQo+IC0JCWNvbmZpZy5mbG93X2NvdW50ZXJfZW4g PSAhIShkZXZpY2VfYXR0ci5tYXhfY291bnRlcl9zZXRzKTsNCj4gKwkJY29uZmlnLmZsb3dfY291 bnRlcl9lbiA9ICEhYXR0ci5tYXhfY291bnRlcl9zZXRzOw0KPiAgCQltbHg1X2dsdWUtPmRlc2Ny aWJlX2NvdW50ZXJfc2V0KGN0eCwgMCwgJmNzX2Rlc2MpOw0KPiAgCQlEUlZfTE9HKERFQlVHLA0K PiAgCQkJImNvdW50ZXIgdHlwZSA9ICVkLCBudW0gb2YgY3MgPSAlbGQsIGF0dHJpYnV0ZXMgPSAl ZCIsIEBAIC05NzgsNyArOTcxLDcgQEANCj4gbWx4NV9wY2lfcHJvYmUoc3RydWN0IHJ0ZV9wY2lf ZHJpdmVyICpwY2lfZHJ2IF9fcnRlX3VudXNlZCwNCj4gIAkJCWNzX2Rlc2MuYXR0cmlidXRlcyk7 DQo+ICAjZW5kaWYNCj4gIAkJY29uZmlnLmluZF90YWJsZV9tYXhfc2l6ZSA9DQo+IC0JCQlkZXZp Y2VfYXR0cl9leC5yc3NfY2Fwcy5tYXhfcndxX2luZGlyZWN0aW9uX3RhYmxlX3NpemU7DQo+ICsJ CQlhdHRyLnJzc19jYXBzLm1heF9yd3FfaW5kaXJlY3Rpb25fdGFibGVfc2l6ZTsNCj4gIAkJLyog UmVtb3ZlIHRoaXMgY2hlY2sgb25jZSBEUERLIHN1cHBvcnRzIGxhcmdlci92YXJpYWJsZQ0KPiAg CQkgKiBpbmRpcmVjdGlvbiB0YWJsZXMuICovDQo+ICAJCWlmIChjb25maWcuaW5kX3RhYmxlX21h eF9zaXplID4NCj4gQEAgLTk4NiwyOSArOTc5LDI4IEBAIG1seDVfcGNpX3Byb2JlKHN0cnVjdCBy dGVfcGNpX2RyaXZlciAqcGNpX2RydiBfX3J0ZV91bnVzZWQsDQo+ICAJCQljb25maWcuaW5kX3Rh YmxlX21heF9zaXplID0gRVRIX1JTU19SRVRBX1NJWkVfNTEyOw0KPiAgCQlEUlZfTE9HKERFQlVH LCAibWF4aW11bSBSeCBpbmRpcmVjdGlvbiB0YWJsZSBzaXplIGlzICV1IiwNCj4gIAkJCWNvbmZp Zy5pbmRfdGFibGVfbWF4X3NpemUpOw0KPiAtCQljb25maWcuaHdfdmxhbl9zdHJpcCA9ICEhKGRl dmljZV9hdHRyX2V4LnJhd19wYWNrZXRfY2FwcyAmDQo+ICsJCWNvbmZpZy5od192bGFuX3N0cmlw ID0gISEoYXR0ci5yYXdfcGFja2V0X2NhcHMgJg0KPiAgCQkJCQkgSUJWX1JBV19QQUNLRVRfQ0FQ X0NWTEFOX1NUUklQUElORyk7DQo+ICAJCURSVl9MT0coREVCVUcsICJWTEFOIHN0cmlwcGluZyBp cyAlc3N1cHBvcnRlZCIsDQo+ICAJCQkoY29uZmlnLmh3X3ZsYW5fc3RyaXAgPyAiIiA6ICJub3Qg IikpOw0KPiANCj4gLQkJY29uZmlnLmh3X2Zjc19zdHJpcCA9ICEhKGRldmljZV9hdHRyX2V4LnJh d19wYWNrZXRfY2FwcyAmDQo+ICsJCWNvbmZpZy5od19mY3Nfc3RyaXAgPSAhIShhdHRyLnJhd19w YWNrZXRfY2FwcyAmDQo+ICAJCQkJCSBJQlZfUkFXX1BBQ0tFVF9DQVBfU0NBVFRFUl9GQ1MpOw0K PiAgCQlEUlZfTE9HKERFQlVHLCAiRkNTIHN0cmlwcGluZyBjb25maWd1cmF0aW9uIGlzICVzc3Vw cG9ydGVkIiwNCj4gIAkJCShjb25maWcuaHdfZmNzX3N0cmlwID8gIiIgOiAibm90ICIpKTsNCj4g DQo+ICAjaWZkZWYgSEFWRV9JQlZfV1FfRkxBR19SWF9FTkRfUEFERElORw0KPiAtCQljb25maWcu aHdfcGFkZGluZyA9ICEhZGV2aWNlX2F0dHJfZXgucnhfcGFkX2VuZF9hZGRyX2FsaWduOw0KPiAr CQljb25maWcuaHdfcGFkZGluZyA9ICEhYXR0ci5yeF9wYWRfZW5kX2FkZHJfYWxpZ247DQo+ICAj ZW5kaWYNCj4gIAkJRFJWX0xPRyhERUJVRywNCj4gIAkJCSJoYXJkd2FyZSBSeCBlbmQgYWxpZ25t ZW50IHBhZGRpbmcgaXMgJXNzdXBwb3J0ZWQiLA0KPiAgCQkJKGNvbmZpZy5od19wYWRkaW5nID8g IiIgOiAibm90ICIpKTsNCj4gIAkJY29uZmlnLnZmID0gdmY7DQo+IC0JCWNvbmZpZy50c28gPSAo KGRldmljZV9hdHRyX2V4LnRzb19jYXBzLm1heF90c28gPiAwKSAmJg0KPiAtCQkJICAgICAgKGRl dmljZV9hdHRyX2V4LnRzb19jYXBzLnN1cHBvcnRlZF9xcHRzICYNCj4gLQkJCSAgICAgICgxIDw8 IElCVl9RUFRfUkFXX1BBQ0tFVCkpKTsNCj4gKwkJY29uZmlnLnRzbyA9IChhdHRyLnRzb19jYXBz Lm1heF90c28gPiAwICYmDQo+ICsJCQkgICAgICAoYXR0ci50c29fY2Fwcy5zdXBwb3J0ZWRfcXB0 cyAmDQo+ICsJCQkgICAgICAgKDEgPDwgSUJWX1FQVF9SQVdfUEFDS0VUKSkpOw0KPiAgCQlpZiAo Y29uZmlnLnRzbykNCj4gLQkJCWNvbmZpZy50c29fbWF4X3BheWxvYWRfc3ogPQ0KPiAtCQkJCQlk ZXZpY2VfYXR0cl9leC50c29fY2Fwcy5tYXhfdHNvOw0KPiArCQkJY29uZmlnLnRzb19tYXhfcGF5 bG9hZF9zeiA9IGF0dHIudHNvX2NhcHMubWF4X3RzbzsNCj4gIAkJaWYgKGNvbmZpZy5tcHMgJiYg IW1wcykgew0KPiAgCQkJRFJWX0xPRyhFUlIsDQo+ICAJCQkJIm11bHRpLXBhY2tldCBzZW5kIG5v dCBzdXBwb3J0ZWQgb24gdGhpcyBkZXZpY2UiDQo+IEBAIC0xMTY4LDE0ICsxMTYwLDE4IEBAIG1s eDVfcGNpX3Byb2JlKHN0cnVjdCBydGVfcGNpX2RyaXZlciAqcGNpX2RydiBfX3J0ZV91bnVzZWQs DQo+ICAJCQkJIHByaXYsIG1lbV9ldmVudF9jYik7DQo+ICAJCXJ0ZV9yd2xvY2tfd3JpdGVfdW5s b2NrKCZtbHg1X3NoYXJlZF9kYXRhLT5tZW1fZXZlbnRfcndsb2NrKTsNCj4gIAkJcnRlX2V0aF9k ZXZfcHJvYmluZ19maW5pc2goZXRoX2Rldik7DQo+ICsJCS8qDQo+ICsJCSAqIEVhY2ggZXRoX2Rl diBpbnN0YW5jZSBpcyBhc3NpZ25lZCBpdHMgb3duIFZlcmJzIGNvbnRleHQsDQo+ICsJCSAqIHNp bmNlIHRoaXMgb25lIGlzIGNvbnN1bWVkLCBsZXQgdGhlIG5leHQgaXRlcmF0aW9uIG9wZW4NCj4g KwkJICogYW5vdGhlci4NCj4gKwkJICovDQo+ICsJCWN0eCA9IE5VTEw7DQo+ICAJCWNvbnRpbnVl Ow0KPiAgcG9ydF9lcnJvcjoNCj4gIAkJaWYgKHByaXYpDQo+ICAJCQlydGVfZnJlZShwcml2KTsN Cj4gIAkJaWYgKHBkKQ0KPiAgCQkJY2xhaW1femVybyhtbHg1X2dsdWUtPmRlYWxsb2NfcGQocGQp KTsNCj4gLQkJaWYgKGN0eCkNCj4gLQkJCWNsYWltX3plcm8obWx4NV9nbHVlLT5jbG9zZV9kZXZp Y2UoY3R4KSk7DQo+ICAJCWlmIChldGhfZGV2ICYmIHJ0ZV9lYWxfcHJvY2Vzc190eXBlKCkgPT0g UlRFX1BST0NfUFJJTUFSWSkNCj4gIAkJCXJ0ZV9ldGhfZGV2X3JlbGVhc2VfcG9ydChldGhfZGV2 KTsNCj4gIAkJYnJlYWs7DQo+IEBAIC0xMTg3LDggKzExODMsOCBAQCBtbHg1X3BjaV9wcm9iZShz dHJ1Y3QgcnRlX3BjaV9kcml2ZXIgKnBjaV9kcnYgX19ydGVfdW51c2VkLA0KPiAgCSAqIHdheSB0 byBlbnVtZXJhdGUgdGhlIHJlZ2lzdGVyZWQgZXRoZGV2cyB0byBmcmVlIHRoZSBwcmV2aW91cyBv bmVzLg0KPiAgCSAqLw0KPiAgZXJyb3I6DQo+IC0JaWYgKGF0dHJfY3R4KQ0KPiAtCQljbGFpbV96 ZXJvKG1seDVfZ2x1ZS0+Y2xvc2VfZGV2aWNlKGF0dHJfY3R4KSk7DQo+ICsJaWYgKGN0eCkNCj4g KwkJY2xhaW1femVybyhtbHg1X2dsdWUtPmNsb3NlX2RldmljZShjdHgpKTsNCj4gIAlpZiAobGlz dCkNCj4gIAkJbWx4NV9nbHVlLT5mcmVlX2RldmljZV9saXN0KGxpc3QpOw0KPiAgCWlmIChlcnIp IHsNCj4gLS0NCj4gMi4xMS4wDQoNClJldmlld2VkLWJ5OiBYdWVtaW5nIExpIDx4dWVtaW5nbEBt ZWxsYW5veC5jb20+DQo=