From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM04-SN1-obe.outbound.protection.outlook.com (mail-eopbgr700078.outbound.protection.outlook.com [40.107.70.78]) by dpdk.org (Postfix) with ESMTP id 24A4BF04 for ; Tue, 18 Sep 2018 20:49:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LpedOsM8w+QGMfr7E7+2r/CaBNM9af4PfzkagzXzkXU=; b=Ncw0JOH8NT52EpPR08VvIHWwzPkvg32HKYskAfbiibWDY2ThBYeyycb7DJy1e6zoyIvh48guAFjc9Oyr0Bnr3JxJtIGhC0hFa2S7AAts5XMvwekNOCp0p6dPlaLMQ+Nc88F2CYd4iKqy+xEfTi+u82LXN1F0HJuYYNzzVSbESoE= Received: from MWHPR05MB2909.namprd05.prod.outlook.com (10.168.245.143) by MWHPR05MB3359.namprd05.prod.outlook.com (10.174.175.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1164.15; Tue, 18 Sep 2018 18:48:59 +0000 Received: from MWHPR05MB2909.namprd05.prod.outlook.com ([fe80::cdeb:e0c:ec43:f6cb]) by MWHPR05MB2909.namprd05.prod.outlook.com ([fe80::cdeb:e0c:ec43:f6cb%9]) with mapi id 15.20.1164.014; Tue, 18 Sep 2018 18:48:59 +0000 From: Louis Luo To: Luca Boccassi , "dev@dpdk.org" CC: "brussell@vyatta.att-mail.com" Thread-Topic: [dpdk-dev] [PATCH 2/3] net/vmxnet3: fix vmxnet3 dev_uninit() hot-unplug Thread-Index: AQHUTrmKmR09nNmlxUu+Ow3Bk4aDOqT2BboA///ebICAAHmHgP//kAoA Date: Tue, 18 Sep 2018 18:48:59 +0000 Message-ID: <521E14D3-C661-48CA-A19A-4B8D82A55D71@vmware.com> References: <20180816135032.28283-1-bluca@debian.org> <20180816135032.28283-3-bluca@debian.org> <1537276494.10481.7.camel@debian.org> <17F07836-30C0-4B16-A0A8-00CCFC2D715B@vmware.com> <1537295381.10481.15.camel@debian.org> In-Reply-To: <1537295381.10481.15.camel@debian.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/10.11.0.180909 x-originating-ip: [208.91.2.2] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; MWHPR05MB3359; 20:DU+RCqSbobfKkZceLKOHuXyu5B0Rxx0CtY+lLH4Lil14YkcuI7Qu8Wfr8qUPqrD54pnUtRKqqhMuQh3a24IFvIjT0HqrX8kflmO1JkBVBI3elVqKAl1AXG1DcJ8htM+EWjEiiwg5hjrhYwmCHAH2b97qhyEgOAZAHscVYOLLDdw= x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 7ac9670b-f93d-4195-5226-08d61d97656e x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534165)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:MWHPR05MB3359; x-ms-traffictypediagnostic: MWHPR05MB3359: bcl: 0 x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(17755550239193)(278428928389397)(219752817060721)(189930954265078); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231355)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(149027)(150027)(6041310)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(201708071742011)(7699050)(76991041); SRVR:MWHPR05MB3359; BCL:0; PCL:0; RULEID:; SRVR:MWHPR05MB3359; x-forefront-prvs: 0799B1B2D7 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(376002)(136003)(39860400002)(396003)(366004)(199004)(189003)(81166006)(229853002)(66066001)(6486002)(99286004)(8936002)(33656002)(81156014)(8676002)(68736007)(2501003)(6512007)(58126008)(110136005)(7736002)(6306002)(93886005)(486006)(6436002)(53936002)(305945005)(36756003)(5250100002)(5660300001)(316002)(45080400002)(6116002)(3846002)(2616005)(476003)(26005)(82746002)(11346002)(186003)(446003)(14444005)(256004)(106356001)(575784001)(6246003)(966005)(105586002)(14454004)(2900100001)(478600001)(2906002)(102836004)(97736004)(83716003)(4326008)(6346003)(76176011)(25786009)(86362001)(53546011)(6506007); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR05MB3359; H:MWHPR05MB2909.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: vmware.com does not designate permitted sender hosts) authentication-results: spf=none (sender IP is ) smtp.mailfrom=llouis@vmware.com; x-microsoft-antispam-message-info: mtQNtQxAojSwzbI8p4Gdf4zguwYB0sgt0stnTI0CguWdjvoNfsaPCkLmkH1I5PVSnRE2cMs22t9PlAmLudn67jOzR7bjpAONRzimB/Re/L8h8V9FH+M8l34JjjJZIF9AQsREnDX9fFDmkS7fdzEUg0JcBAzL3Ah5KvCJknkuaC7Otfmvq4yWTxVrnZcVugCu72/KXhhwRoE+Wes0o/rbdgm89lT3eeFWsJWg9W//BfCJavCC4JDe9Kl5gAKIO8lepPST7n/qh/4WwjIDlJt3hEpROdDDIMTUU7fNqHNPB22KYk5YxL0VCBrdBIxvfzaBvg7XOVK6B1rvYZ9j57NGEubNJvDvfta5cOB4tpZCiNM= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7ac9670b-f93d-4195-5226-08d61d97656e X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Sep 2018 18:48:59.6668 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR05MB3359 Subject: Re: [dpdk-dev] [PATCH 2/3] net/vmxnet3: fix vmxnet3 dev_uninit() hot-unplug 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: Tue, 18 Sep 2018 18:49:02 -0000 SGkgTHVjYSwNCg0KSSdtIGZpbmUgd2l0aCB0aGUgcXVldWUgZnJlZSBwYXJ0LCBidXQganVzdCBo YXZlIGNvbmNlcm4gYWJvdXQgcmVtb3ZpbmcgdGhlIGNoZWNrIGluc2lkZSB1bmluaXQgZnVuY3Rp b24uIElmIHRoZSBhcHBsaWNhdGlvbiBkb2VzIGZvbGxvdyB0aGUgcnVsZXMgYW5kIGtlZXBpbmcg dGhlIGNoZWNrIGluIHVuaW5pdCB3b24ndCBjYXVzZSB2bXhuZXQzX2Rldl9jbG9zZSgpIGJlaW5n IGNhbGxlZCBhZ2FpbiAoYW5kIGlmIGl0IHdvbid0IGNhdXNlIHRyb3VibGUgaW4gY2FzZSB0aGUg YXBwbGljYXRpb24gZG9lc24ndCBjYWxsIGNsb3NlIGJlZm9yZSBjYWxsaW5nIHVuaW5pdCksIEkg cHJlZmVyIGtlZXBpbmcgdGhlIGNoZWNrIChhbmQgbG9nIHNvbWUgd2FybmluZykgaW4gY2FzZSBh bnkgYnVnZ3kgYXBwbGljYXRpb24gZXhpc3RzLg0KDQpUaGFua3MsDQpMb3Vpcw0KDQrvu79PbiA5 LzE4LzE4LCAxMToyOSBBTSwgIkx1Y2EgQm9jY2Fzc2kiIDxibHVjYUBkZWJpYW4ub3JnPiB3cm90 ZToNCg0KICAgIE9uIFR1ZSwgMjAxOC0wOS0xOCBhdCAxODoxNCArMDAwMCwgTG91aXMgTHVvIHdy b3RlOg0KICAgID4gSGkgTHVjYSwNCiAgICA+IA0KICAgID4gVGhhbmtzIGZvciBwb2ludGluZyB0 byB0aGUgZG9jdW1lbnQhIFRoaXMgImJhc2ljIHJlcXVpcmVtZW50cyIgc2VlbXMNCiAgICA+IHRv IGxheSB0aGUgYnVyZGVuIG9uIGFwcGxpY2F0aW9uIGRldmVsb3BlcnMgdG8gY29ycmVjdGx5IGZv bGxvdyB0aGUNCiAgICA+IGhvdC1wbHVnIGZyYW1ld29yaydzIHJ1bGVzLCBidXQgdGhlcmUgc2Vl bXMgbm8gbWVjaGFuaXNtIHRvIGVuZm9yY2UNCiAgICA+IHRoaXMgcHJvY2VkdXJlIChjb3JyZWN0 IG1lIGlmIEknbSB3cm9uZykuIFdoYXQgaWYgYSBidWdneSBhcHBsaWNhdGlvbg0KICAgID4gZG9l c24ndCBjYWxsIHN0b3AvY2xvc2UgYmVmb3JlIGRldGFjaGluZz8gDQogICAgDQogICAgV2VsbCBE UERLIGluIGdlbmVyYWwgZG9lcyBub3QgaGF2ZSB0aGUgc2ltcGxlc3QgQVBJIHRvIHVzZSwgdGhl cmUncyBubw0KICAgIGRlbnlpbmcgdGhhdC4gVGhhdCdzIGJlY2F1c2Ugd2hhdCBpdCBkb2VzIGlz IHZlcnkgbXVjaCBtb3JlIGNvbXBsaWNhdGVkDQogICAgdGhhbiB0aGUgYXZlcmFnZSBsaWJyYXJ5 Lg0KICAgIFNvIGlmIGFuIGFwcGxpY2F0aW9uIGlnbm9yZXMgdGhlIGRldmVsb3BtZW50IGd1aWRl cyBhbmQgZG9lcyBub3QgZm9sbG93DQogICAgdGhlIHJlY29tbWVuZGF0aW9uIGJhZCB0aGluZ3Mg d2lsbCBoYXBwZW4gOi0pIEJ1dCBpdCB3aWxsIGhhcHBlbg0KICAgIHJlZ2FyZGxlc3Mgb2YgdGhl IFBNRCB1c2VkLiBUaGF0J3MgYWxyZWFkeSB0aGUgY2FzZS4NCiAgICANCiAgICA+IEluIGFkZGl0 aW9uLCBpbiB5b3VyIGNvbW1pdCBkZXNjcmlwdGlvbiwgeW91IHNhaWQgIiBUaGUgdm14bmV0Mw0K ICAgID4gZHJpdmVyIGNhbid0IGNhbGwgYmFjayBpbnRvIGRldl9jbG9zZSgpLCBhbmQgcG9zc2li bHkgZGV2X3N0b3AoKSwgaW4NCiAgICA+IGRldl91bmluaXQoKS4iIEJ1dCBhY3R1YWxseSBpbiB2 bXhuZXQzX2Rldl9jbG9zZSgpLCB3ZSBzZXQgaHctDQogICAgPiA+YWRhcHRlcl9zdG9wcGVkID0g MSwgYW5kIGluIGV0aF92bXhuZXQzX2Rldl91bmluaXQoKSB3ZSBjYWxsIGludG8NCiAgICA+IHZt eG5ldDNfZGV2X2Nsb3NlKCkgT05MWSB3aGVuIGh3LT5hZGFwdGVyX3N0b3BwZWQgPT0gMC4gU28g aWYgdGhlDQogICAgPiBhcHBsaWNhdGlvbiBkb2VzIG1lZXQgdGhlIGhvdC1wbHVnIGZyYW1ld29y ayByZXF1aXJlbWVudCBhbmQgY2FsbHMNCiAgICA+IGRldl9jbG9zZSBiZWZvcmUgY2FsbGluZyB1 bmluaXQsIGV0aF92bXhuZXQzX2Rldl91bmluaXQoKSBzaG91bGQgbm90DQogICAgPiBjYWxsIGlu dG8gdm14bmV0M19kZXZfY2xvc2UoKSBhZ2FpbiwgcmlnaHQ/IElmIHNvLCB3aHkgYm90aGVyDQog ICAgPiByZW1vdmluZyB0aGlzIGNoZWNrPyANCiAgICA+IA0KICAgID4gT3IgbGV0IG1lIGFzayB0 aGlzIHdheS4gSWYgYSBidWdneSBhcHBsaWNhdGlvbiBET0VTIE5PVCBjYWxsDQogICAgPiBkZXZf Y2xvc2UgYmVmb3JlIGNhbGxpbmcgZXRoX3ZteG5ldDNfZGV2X3VuaW5pdCgpLCB3b3VsZCBjYWxs aW5nDQogICAgPiB2bXhuZXQzX2Rldl9jbG9zZSgpIGluc2lkZSBldGhfdm14bmV0M19kZXZfdW5p bml0KCkgY2F1c2UgYW55DQogICAgPiB0cm91YmxlPyBBbmQgaWYgYW4gYXBwbGljYXRpb24gRE9F UyBjYWxsIGRldl9jbG9zZSBiZWZvcmUgY2FsbGluZw0KICAgID4gZXRoX3ZteG5ldDNfZGV2X3Vu aW5pdCgpLCBoYXZlIHlvdSBldmVyIHNlZW4gdm14bmV0M19kZXZfY2xvc2UoKQ0KICAgID4gYmVp bmcgY2FsbGVkIGFnYWluIGFuZCB0cmlnZ2VyIGNyYXNoZXMgbGlrZSBkb3VibGUtZnJlZSBvciBz b21ldGhpbmcNCiAgICA+IGVsc2U/IElmIHllcywgdGhlbiB3ZSBuZWVkIHRvIGludmVzdGlnYXRl Lg0KICAgID4gDQogICAgPiBUaGFua3MNCiAgICA+IExvdWlzDQogICAgDQogICAgVGhlIHByb2Js ZW0gaXMgdGhhdCB0aGVyZSBhcmUgbWFueSBQTURzLCBzbyB0aGUgZ3VpZGVsaW5lcyBoYXZlIHRv IGJlDQogICAgZm9sbG93ZWQgLSBzbyBzdG9wIGFuZCBjbG9zZSBoYXZlIHRvIGJlIGNhbGxlZCBh bnl3YXkgYmVmb3JlIGRldGFjaC4NCiAgICBPdGhlcndpc2UgcnVubmluZyB3aXRoIG90aGVyIFBN RHMgd2lsbCBicmVhayB0aGUgYXBwbGljYXRpb24uIFNvIG5vdA0KICAgIGNhbGxpbmcgY2xvc2Ug aXMgbm90IHJlYWxseSBhbiBvcHRpb24gZm9yIGFuIGFwcGxpY2F0aW9uLg0KICAgIA0KICAgIEJ1 dCB0aGUgbWFpbiBpc3N1ZSBoZXJlIGlzIHRoZSBsZWFraW5nIG9mIHRoZSBxdWV1ZXMsIHdoaWNo IHRoaXMgcGF0Y2gNCiAgICBmaXhlcy4gQnkgcmUtYXJyYW5naW5nIHRoZSBzdG9wL2Nsb3NlL3Vu aW5pdCBsaWtlIHRoaXMsIHF1ZXVlcyBjYW4gYmUNCiAgICBjb3JyZWN0bHkgZnJlZWQgYW5kIHRo dXMgd2UgY2FuIGhvdHBsdWcvdW5wbHVnIGRldmljZXMgd2l0aG91dCBsZWFraW5nDQogICAgbWFz c2l2ZSBhbW91bnRzIG9mIG1lbW9yeS4NCiAgICANCiAgICBNeSBjb2xsZWFndWUgQnJpYW4sIHdo byB3cm90ZSB0aGUgcGF0Y2ggYW5kIEkgQ0MnZWQsIG1pZ2h0IGhhdmUgbW9yZQ0KICAgIGluZm9y bWF0aW9uIGlmIHlvdSBuZWVkIGl0Lg0KICAgIA0KICAgID4gT24gOS8xOC8xOCwgNjoxNSBBTSwg Ikx1Y2EgQm9jY2Fzc2kiIDxibHVjYUBkZWJpYW4ub3JnPiB3cm90ZToNCiAgICA+IA0KICAgID4g ICAgIEhpLA0KICAgID4gICAgIA0KICAgID4gICAgIFRoZSBhcHBsaWNhdGlvbiBtdXN0IGFscmVh ZHkgc3RvcCBhbmQgY2xvc2UgYmVmb3JlIGRldGFjaGluZw0KICAgID4gKHdoaWNoDQogICAgPiAg ICAgd2lsbCBjYWxsIHVuaW5pdCkuIFF1b3RpbmcgZnJvbSB0aGUgZG9jdW1lbnRhdGlvbjoNCiAg ICA+ICAgICANCiAgICA+ICAgICAiKiAgQmVmb3JlIGRldGFjaGluZywgdGhleSBtdXN0IGJlIHN0 b3BwZWQgYW5kIGNsb3NlZC4NCiAgICA+ICAgICANCiAgICA+ICAgICAgICAgRFBESyBhcHBsaWNh dGlvbnMgbXVzdCBjYWxsICJydGVfZXRoX2Rldl9zdG9wKCkiIGFuZA0KICAgID4gICAgICAgICAi cnRlX2V0aF9kZXZfY2xvc2UoKSIgQVBJcyBiZWZvcmUgZGV0YWNoaW5nIHBvcnRzLiBUaGVzZQ0K ICAgID4gZnVuY3Rpb25zIHdpbGwNCiAgICA+ICAgICAgICAgc3RhcnQgZmluYWxpemF0aW9uIHNl cXVlbmNlIG9mIHRoZSBQTURzLiINCiAgICA+ICAgICANCiAgICA+ICAgICBodHRwczovL25hMDEu c2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwJTNBJTJGJTJGZA0KICAg ID4gb2MuZHBkay5vcmclMkZndWlkZXMlMkZwcm9nX2d1aWRlJTJGcG9ydF9ob3RwbHVnX2ZyYW1l d29yay5odG1sJmFtcDtkDQogICAgPiBhdGE9MDIlN0MwMSU3Q2xsb3VpcyU0MHZtd2FyZS5jb20l N0MzZDg3YTU0ODJjZDA0NjY3OWQ3NjA4ZDYxZDY4YmY5YSUNCiAgICA+IDdDYjM5MTM4Y2EzY2Vl NGI0YWE0ZDZjZDgzZDlkZDYyZjAlN0MxJTdDMCU3QzYzNjcyODczMzA3ODcwMDkxMSZhbXA7cw0K ICAgID4gZGF0YT1xQng3enlPSmhUbVZIMGMyWkVCb2htSUhMNlBrWXdCNlhQYXcyZXBnUzBFJTNE JmFtcDtyZXNlcnZlZD0wDQogICAgPiAgICAgDQogICAgPiAgICAgT24gTW9uLCAyMDE4LTA5LTE3 IGF0IDE5OjA2ICswMDAwLCBMb3VpcyBMdW8gd3JvdGU6DQogICAgPiAgICAgPiBIaSBMdWNhLA0K ICAgID4gICAgID4gDQogICAgPiAgICAgPiBXaGVuIGV0aF92bXhuZXQzX2Rldl91bmluaXQoKSBp cyBjYWxsZWQsIGlzIGl0IGd1YXJhbnRlZWQgdGhhdA0KICAgID4gICAgID4gdm14bmV0M19kZXZf Y2xvc2UvIHZteG5ldDNfZGV2X3N0b3AgbXVzdCBoYXZlIGJlZW4gY2FsbGVkPyBJJ20NCiAgICA+ IG5vdA0KICAgID4gICAgID4gZmFtaWxpYXIgd2l0aCB0aGUgaG90LXBsdWcgcHJvY2VkdXJlLCBz byBqdXN0IHdvbmRlciBpZiB0aGVyZQ0KICAgID4gaXMgYW55DQogICAgPiAgICAgPiBjaGFuY2Ug dGhhdCBldGhfdm14bmV0M19kZXZfdW5pbml0KCkgaXMgY2FsbGVkIHdpdGhvdXQgY2FsbGluZw0K ICAgID4gICAgID4gdm14bmV0M19kZXZfY2xvc2UvIHZteG5ldDNfZGV2X3N0b3AuDQogICAgPiAg ICAgPiANCiAgICA+ICAgICA+IFRoYW5rcywNCiAgICA+ICAgICA+IExvdWlzDQogICAgPiAgICAg PiANCiAgICA+ICAgICA+IE9uIDgvMTYvMTgsIDY6NTEgQU0sICJkZXYgb24gYmVoYWxmIG9mIEx1 Y2EgQm9jY2Fzc2kiIDxkZXYtYm91bg0KICAgID4gY2VzQGQNCiAgICA+ICAgICA+IHBkay5vcmcg b24gYmVoYWxmIG9mIGJsdWNhQGRlYmlhbi5vcmc+IHdyb3RlOg0KICAgID4gICAgID4gDQogICAg PiAgICAgPiAgICAgVGhlIHZteG5ldDMgZHJpdmVyIGNhbid0IGNhbGwgYmFjayBpbnRvIGRldl9j bG9zZSgpLCBhbmQNCiAgICA+IHBvc3NpYmx5DQogICAgPiAgICAgPiAgICAgZGV2X3N0b3AoKSwg aW4gZGV2X3VuaW5pdCgpLiAgV2hlbiBkZXZfdW5pbml0KCkgaXMgY2FsbGVkLA0KICAgID4gICAg ID4gYW55dGhpbmcNCiAgICA+ICAgICA+ICAgICB0aGF0IHRob3NlIHJvdXRpbmVzIHdvdWxkIHdh bnQgdG8gY2xlYW4gdXAgaGFzIGFscmVhZHkgYmVlbg0KICAgID4gICAgID4gcmVsZWFzZWQuDQog ICAgPiAgICAgPiAgICAgRnVydGhlciwgZm9yIGNvbXBsZXRlIGNsZWFudXAsIGl0IGlzIG5lY2Vz c2FyeSB0byByZWxlYXNlDQogICAgPiBhbnkgb2YNCiAgICA+ICAgICA+IHRoZQ0KICAgID4gICAg ID4gICAgIHF1ZXVlIHJlc291cmNlcyBkdXJpbmcgZGV2X2Nsb3NlKCkuDQogICAgPiAgICAgPiAg ICAgVGhpcyBhbGxvd3MgYSB2bXhuZXQzIGRldmljZSB0byBiZSBob3QtdW5wbHVnZ2VkIHdpdGhv dXQNCiAgICA+IGxlYWtpbmcNCiAgICA+ICAgICA+ICAgICBxdWV1ZXMuDQogICAgPiAgICAgPiAg ICAgDQogICAgPiAgICAgPiAgICAgRml4ZXM6IGRmYWZmMzdmYzQ2ZCAoInZteG5ldDM6IGltcG9y dCBuZXcgdm14bmV0MyBwb2xsIG1vZGUNCiAgICA+ICAgICA+IGRyaXZlciBpbXBsZW1lbnRhdGlv biIpDQogICAgPiAgICAgPiAgICAgQ2M6IHN0YWJsZUBkcGRrLm9yZw0KICAgID4gICAgID4gICAg IA0KICAgID4gICAgID4gICAgIFNpZ25lZC1vZmYtYnk6IEJyaWFuIFJ1c3NlbGwgPGJydXNzZWxs QGJyb2NhZGUuY29tPg0KICAgID4gICAgID4gICAgIFNpZ25lZC1vZmYtYnk6IEx1Y2EgQm9jY2Fz c2kgPGJsdWNhQGRlYmlhbi5vcmc+DQogICAgPiAgICAgPiAgICAgLS0tDQogICAgPiAgICAgPiAg ICAgIGRyaXZlcnMvbmV0L3ZteG5ldDMvdm14bmV0M19ldGhkZXYuYyB8IDM2DQogICAgPiArKysr KysrKysrKysrKysrKysrKw0KICAgID4gICAgID4gLS0tLS0tLS0NCiAgICA+ICAgICA+ICAgICAg MSBmaWxlIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQ0KICAgID4g ICAgID4gICAgIA0KICAgID4gICAgID4gICAgIGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC92bXhu ZXQzL3ZteG5ldDNfZXRoZGV2LmMNCiAgICA+ICAgICA+IGIvZHJpdmVycy9uZXQvdm14bmV0My92 bXhuZXQzX2V0aGRldi5jDQogICAgPiAgICAgPiAgICAgaW5kZXggMjYxM2NkMTM1OC4uYjVkNGJl NWUyNCAxMDA2NDQNCiAgICA+ICAgICA+ICAgICAtLS0gYS9kcml2ZXJzL25ldC92bXhuZXQzL3Zt eG5ldDNfZXRoZGV2LmMNCiAgICA+ICAgICA+ICAgICArKysgYi9kcml2ZXJzL25ldC92bXhuZXQz L3ZteG5ldDNfZXRoZGV2LmMNCiAgICA+ICAgICA+ICAgICBAQCAtMzQ4LDE2ICszNDgsMTEgQEAg ZXRoX3ZteG5ldDNfZGV2X2luaXQoc3RydWN0DQogICAgPiBydGVfZXRoX2Rldg0KICAgID4gICAg ID4gKmV0aF9kZXYpDQogICAgPiAgICAgPiAgICAgIHN0YXRpYyBpbnQNCiAgICA+ICAgICA+ICAg ICAgZXRoX3ZteG5ldDNfZGV2X3VuaW5pdChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYpDQog ICAgPiAgICAgPiAgICAgIHsNCiAgICA+ICAgICA+ICAgICAtCXN0cnVjdCB2bXhuZXQzX2h3ICpo dyA9IGV0aF9kZXYtPmRhdGEtDQogICAgPiA+ZGV2X3ByaXZhdGU7DQogICAgPiAgICAgPiAgICAg LQ0KICAgID4gICAgID4gICAgICAJUE1EX0lOSVRfRlVOQ19UUkFDRSgpOw0KICAgID4gICAgID4g ICAgICANCiAgICA+ICAgICA+ICAgICAgCWlmIChydGVfZWFsX3Byb2Nlc3NfdHlwZSgpICE9IFJU RV9QUk9DX1BSSU1BUlkpDQogICAgPiAgICAgPiAgICAgIAkJcmV0dXJuIDA7DQogICAgPiAgICAg PiAgICAgIA0KICAgID4gICAgID4gICAgIC0JaWYgKGh3LT5hZGFwdGVyX3N0b3BwZWQgPT0gMCkN CiAgICA+ICAgICA+ICAgICAtCQl2bXhuZXQzX2Rldl9jbG9zZShldGhfZGV2KTsNCiAgICA+ICAg ICA+ICAgICAtDQogICAgPiAgICAgPiAgICAgIAlldGhfZGV2LT5kZXZfb3BzID0gTlVMTDsNCiAg ICA+ICAgICA+ICAgICAgCWV0aF9kZXYtPnJ4X3BrdF9idXJzdCA9IE5VTEw7DQogICAgPiAgICAg PiAgICAgIAlldGhfZGV2LT50eF9wa3RfYnVyc3QgPSBOVUxMOw0KICAgID4gICAgID4gICAgIEBA IC04MDMsNyArNzk4LDcgQEAgdm14bmV0M19kZXZfc3RvcChzdHJ1Y3QgcnRlX2V0aF9kZXYNCiAg ICA+ICpkZXYpDQogICAgPiAgICAgPiAgICAgIAlQTURfSU5JVF9GVU5DX1RSQUNFKCk7DQogICAg PiAgICAgPiAgICAgIA0KICAgID4gICAgID4gICAgICAJaWYgKGh3LT5hZGFwdGVyX3N0b3BwZWQg PT0gMSkgew0KICAgID4gICAgID4gICAgIC0JCVBNRF9JTklUX0xPRyhERUJVRywgIkRldmljZSBh bHJlYWR5DQogICAgPiBjbG9zZWQuIik7DQogICAgPiAgICAgPiAgICAgKwkJUE1EX0lOSVRfTE9H KERFQlVHLCAiRGV2aWNlIGFscmVhZHkNCiAgICA+IHN0b3BwZWQuIik7DQogICAgPiAgICAgPiAg ICAgIAkJcmV0dXJuOw0KICAgID4gICAgID4gICAgICAJfQ0KICAgID4gICAgID4gICAgICANCiAg ICA+ICAgICA+ICAgICBAQCAtODI3LDcgKzgyMiw2IEBAIHZteG5ldDNfZGV2X3N0b3Aoc3RydWN0 IHJ0ZV9ldGhfZGV2DQogICAgPiAqZGV2KQ0KICAgID4gICAgID4gICAgICAJLyogcmVzZXQgdGhl IGRldmljZSAqLw0KICAgID4gICAgID4gICAgICAJVk1YTkVUM19XUklURV9CQVIxX1JFRyhodywg Vk1YTkVUM19SRUdfQ01ELA0KICAgID4gICAgID4gVk1YTkVUM19DTURfUkVTRVRfREVWKTsNCiAg ICA+ICAgICA+ICAgICAgCVBNRF9JTklUX0xPRyhERUJVRywgIkRldmljZSByZXNldC4iKTsNCiAg ICA+ICAgICA+ICAgICAtCWh3LT5hZGFwdGVyX3N0b3BwZWQgPSAwOw0KICAgID4gICAgID4gICAg ICANCiAgICA+ICAgICA+ICAgICAgCXZteG5ldDNfZGV2X2NsZWFyX3F1ZXVlcyhkZXYpOw0KICAg ID4gICAgID4gICAgICANCiAgICA+ICAgICA+ICAgICBAQCAtODM3LDYgKzgzMSwzMCBAQCB2bXhu ZXQzX2Rldl9zdG9wKHN0cnVjdCBydGVfZXRoX2Rldg0KICAgID4gKmRldikNCiAgICA+ICAgICA+ ICAgICAgCWxpbmsubGlua19zcGVlZCA9IEVUSF9TUEVFRF9OVU1fMTBHOw0KICAgID4gICAgID4g ICAgICAJbGluay5saW5rX2F1dG9uZWcgPSBFVEhfTElOS19GSVhFRDsNCiAgICA+ICAgICA+ICAg ICAgCXJ0ZV9ldGhfbGlua3N0YXR1c19zZXQoZGV2LCAmbGluayk7DQogICAgPiAgICAgPiAgICAg Kw0KICAgID4gICAgID4gICAgICsJaHctPmFkYXB0ZXJfc3RvcHBlZCA9IDE7DQogICAgPiAgICAg PiAgICAgK30NCiAgICA+ICAgICA+ICAgICArDQogICAgPiAgICAgPiAgICAgK3N0YXRpYyB2b2lk DQogICAgPiAgICAgPiAgICAgK3ZteG5ldDNfZnJlZV9xdWV1ZXMoc3RydWN0IHJ0ZV9ldGhfZGV2 ICpkZXYpDQogICAgPiAgICAgPiAgICAgK3sNCiAgICA+ICAgICA+ICAgICArCWludCBpOw0KICAg ID4gICAgID4gICAgICsNCiAgICA+ICAgICA+ICAgICArCVBNRF9JTklUX0ZVTkNfVFJBQ0UoKTsN CiAgICA+ICAgICA+ICAgICArDQogICAgPiAgICAgPiAgICAgKwlmb3IgKGkgPSAwOyBpIDwgZGV2 LT5kYXRhLT5uYl9yeF9xdWV1ZXM7IGkrKykgew0KICAgID4gICAgID4gICAgICsJCXZvaWQgKnJ4 cSA9IGRldi0+ZGF0YS0+cnhfcXVldWVzW2ldOw0KICAgID4gICAgID4gICAgICsNCiAgICA+ICAg ICA+ICAgICArCQl2bXhuZXQzX2Rldl9yeF9xdWV1ZV9yZWxlYXNlKHJ4cSk7DQogICAgPiAgICAg PiAgICAgKwl9DQogICAgPiAgICAgPiAgICAgKwlkZXYtPmRhdGEtPm5iX3J4X3F1ZXVlcyA9IDA7 DQogICAgPiAgICAgPiAgICAgKw0KICAgID4gICAgID4gICAgICsJZm9yIChpID0gMDsgaSA8IGRl di0+ZGF0YS0+bmJfdHhfcXVldWVzOyBpKyspIHsNCiAgICA+ICAgICA+ICAgICArCQl2b2lkICp0 eHEgPSBkZXYtPmRhdGEtPnR4X3F1ZXVlc1tpXTsNCiAgICA+ICAgICA+ICAgICArDQogICAgPiAg ICAgPiAgICAgKwkJdm14bmV0M19kZXZfdHhfcXVldWVfcmVsZWFzZSh0eHEpOw0KICAgID4gICAg ID4gICAgICsJfQ0KICAgID4gICAgID4gICAgICsJZGV2LT5kYXRhLT5uYl90eF9xdWV1ZXMgPSAw Ow0KICAgID4gICAgID4gICAgICB9DQogICAgPiAgICAgPiAgICAgIA0KICAgID4gICAgID4gICAg ICAvKg0KICAgID4gICAgID4gICAgIEBAIC04NDUsMTIgKzg2MywxMCBAQCB2bXhuZXQzX2Rldl9z dG9wKHN0cnVjdCBydGVfZXRoX2Rldg0KICAgID4gKmRldikNCiAgICA+ICAgICA+ICAgICAgc3Rh dGljIHZvaWQNCiAgICA+ICAgICA+ICAgICAgdm14bmV0M19kZXZfY2xvc2Uoc3RydWN0IHJ0ZV9l dGhfZGV2ICpkZXYpDQogICAgPiAgICAgPiAgICAgIHsNCiAgICA+ICAgICA+ICAgICAtCXN0cnVj dCB2bXhuZXQzX2h3ICpodyA9IGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGU7DQogICAgPiAgICAgPiAg ICAgLQ0KICAgID4gICAgID4gICAgICAJUE1EX0lOSVRfRlVOQ19UUkFDRSgpOw0KICAgID4gICAg ID4gICAgICANCiAgICA+ICAgICA+ICAgICAgCXZteG5ldDNfZGV2X3N0b3AoZGV2KTsNCiAgICA+ ICAgICA+ICAgICAtCWh3LT5hZGFwdGVyX3N0b3BwZWQgPSAxOw0KICAgID4gICAgID4gICAgICsJ dm14bmV0M19mcmVlX3F1ZXVlcyhkZXYpOw0KICAgID4gICAgID4gICAgICB9DQogICAgPiAgICAg PiAgICAgIA0KICAgID4gICAgID4gICAgICBzdGF0aWMgdm9pZA0KICAgID4gICAgID4gICAgIC0t IA0KICAgID4gICAgID4gICAgIDIuMTguMA0KICAgID4gICAgID4gICAgIA0KICAgID4gICAgID4g ICAgIA0KICAgID4gICAgID4gDQogICAgPiAgICAgDQogICAgPiAgICAgLS0gDQogICAgPiAgICAg S2luZCByZWdhcmRzLA0KICAgID4gICAgIEx1Y2EgQm9jY2Fzc2kNCiAgICA+IA0KICAgIA0KICAg IC0tIA0KICAgIEtpbmQgcmVnYXJkcywNCiAgICBMdWNhIEJvY2Nhc3NpDQoNCg==