From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 6E2191B3DF for ; Tue, 30 Jan 2018 14:14:19 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 Jan 2018 05:14:16 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,435,1511856000"; d="scan'208";a="15524014" Received: from irsmsx109.ger.corp.intel.com ([163.33.3.23]) by fmsmga002.fm.intel.com with ESMTP; 30 Jan 2018 05:14:14 -0800 Received: from irsmsx103.ger.corp.intel.com ([169.254.3.197]) by IRSMSX109.ger.corp.intel.com ([169.254.13.19]) with mapi id 14.03.0319.002; Tue, 30 Jan 2018 13:14:13 +0000 From: "Ananyev, Konstantin" To: "Ananyev, Konstantin" , "dev@dpdk.org" , Chas Williams <3chas3@gmail.com> CC: "Charles (Chas) Williams" , "Lu, Wenzhuo" Thread-Topic: [PATCH] net/ixgbe: fix reconfiguration of rx queues Thread-Index: AQHTmRTYE/Umvo2hr02H2/aHNSRnBKOLCIkQgAAHiICAABD7QIAAATbggAAJ/ACAATFAgIAAADHA Date: Tue, 30 Jan 2018 13:14:12 +0000 Message-ID: <2601191342CEEE43887BDE71AB97725890565AE3@IRSMSX103.ger.corp.intel.com> References: <20180129152115.26359-1-3chas3@gmail.com> <2601191342CEEE43887BDE71AB977258905653D7@IRSMSX103.ger.corp.intel.com> <2601191342CEEE43887BDE71AB97725890565545@IRSMSX103.ger.corp.intel.com> <2601191342CEEE43887BDE71AB97725890565566@IRSMSX103.ger.corp.intel.com> <2601191342CEEE43887BDE71AB97725890565AC3@IRSMSX103.ger.corp.intel.com> In-Reply-To: <2601191342CEEE43887BDE71AB97725890565AC3@IRSMSX103.ger.corp.intel.com> Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNjIzODc2ODctYjI0Ni00MDNiLTk3OTctZDFkNWYyNjczYTZlIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6IlZCcnlFMnJubDBUOTVoelQ0YTg1OGxMRkRoMlc4XC9EWjdNYXpjeWVIa0I0PSJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [163.33.239.181] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH] net/ixgbe: fix reconfiguration of rx queues 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, 30 Jan 2018 13:14:21 -0000 DQoNCj4gPiA+DQo+ID4gPiBGcm9tOiAiQ2hhcmxlcyAoQ2hhcykgV2lsbGlhbXMiIDxjaGFzM0Bh dHQuY29tPg0KPiA+ID4NCj4gPiA+IC5kZXZfY29uZmlndXJlKCkgbWF5IGJlIGNhbGxlZCBhZ2Fp biBhZnRlciBSWCBxdWV1ZXMgaGF2ZSBiZWVuIHNldHVwLg0KPiA+ID4gVGhpcyBoYXMgdGhlIGVm ZmVjdCBvZiBjbGVhcmluZyB3aGF0ZXZlciBzZXR0aW5nIHRoZSBSWCBxdWV1ZXMgbWFkZSBmb3IN Cj4gPiA+IHJ4X2J1bGtfYWxsb2NfYWxsb3dlZCBvciByeF92ZWNfYWxsb3dlZC7CoCBPbmx5IHJl c2V0IHRoaXMgY29uZmlndXJhdGlvbg0KPiA+ID4gaXMgdGhlcmUgYXJlbid0IGFueSBjdXJyZW50 bHkgYWxsb2NhdGVkIHF1ZXVlcy4NCj4gPiA+DQo+ID4gPiBGaXhlczogMDFmYTFkNjIxNWZhICgi aXhnYmU6IHVuaWZ5IFJ4IHNldHVwIikNCj4gPiA+DQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBDaGFz IFdpbGxpYW1zIDxjaGFzM0BhdHQuY29tPg0KPiA+ID4gLS0tDQo+ID4gPsKgIGRyaXZlcnMvbmV0 L2l4Z2JlL2l4Z2JlX2V0aGRldi5jIHwgMTggKysrKysrKysrKysrKysrKy0tDQo+ID4gPsKgIDEg ZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQ0KPiA+ID4NCj4g PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuYyBiL2RyaXZl cnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5jDQo+ID4gPiBpbmRleCAzN2ViNjY4Li5iMzkyNDlh IDEwMDY0NA0KPiA+ID4gLS0tIGEvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmMNCj4g PiA+ICsrKyBiL2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5jDQo+ID4gPiBAQCAtMjM0 OCw2ICsyMzQ4LDcgQEAgaXhnYmVfZGV2X2NvbmZpZ3VyZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRl dikNCj4gPiA+wqAgwqAgwqAgwqBzdHJ1Y3QgaXhnYmVfYWRhcHRlciAqYWRhcHRlciA9DQo+ID4g PsKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgKHN0cnVjdCBpeGdiZV9hZGFwdGVyICopZGV2LT5kYXRh LT5kZXZfcHJpdmF0ZTsNCj4gPiA+wqAgwqAgwqAgwqBpbnQgcmV0Ow0KPiA+ID4gK8KgIMKgIMKg dWludDE2X3QgaTsNCj4gPiA+DQo+ID4gPsKgIMKgIMKgIMKgUE1EX0lOSVRfRlVOQ19UUkFDRSgp Ow0KPiA+ID7CoCDCoCDCoCDCoC8qIG11bHRpcGUgcXVldWUgbW9kZSBjaGVja2luZyAqLw0KPiA+ ID4gQEAgLTIzNjMsMTEgKzIzNjQsMTcgQEAgaXhnYmVfZGV2X2NvbmZpZ3VyZShzdHJ1Y3QgcnRl X2V0aF9kZXYgKmRldikNCj4gPiA+DQo+ID4gPsKgIMKgIMKgIMKgLyoNCj4gPiA+wqAgwqAgwqAg wqAgKiBJbml0aWFsaXplIHRvIFRSVUUuIElmIGFueSBvZiBSeCBxdWV1ZXMgZG9lc24ndCBtZWV0 IHRoZSBidWxrDQo+ID4gPiAtwqAgwqAgwqAgKiBhbGxvY2F0aW9uIG9yIHZlY3RvciBSeCBwcmVj b25kaXRpb25zIHdlIHdpbGwgcmVzZXQgaXQuDQo+ID4gPiArwqAgwqAgwqAgKiBhbGxvY2F0aW9u IG9yIHZlY3RvciBSeCBwcmVjb25kaXRpb25zIHdlIHdpbGwgcmVzZXQgaXQuIFdlDQo+ID4gPiAr wqAgwqAgwqAgKiBjYW4gb25seSBkbyB0aGlzIGlzIHRoZXJlIGFyZW4ndCBhbnkgZXhpc3Rpbmcg UlggcXVldWVzLg0KPiA+ID7CoCDCoCDCoCDCoCAqLw0KPiA+ID4gK8KgIMKgIMKgZm9yIChpID0g MDsgaSA8IGRldi0+ZGF0YS0+bmJfcnhfcXVldWVzOyBpKyspIHsNCj4gPiA+ICvCoCDCoCDCoCDC oCDCoCDCoCDCoGlmIChkZXYtPmRhdGEtPnJ4X3F1ZXVlc1tpXSkNCj4gPiA+ICvCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoGdvdG8gb3V0Ow0KPiA+ID4gK8KgIMKgIMKgfQ0KPiA+IEkg ZG9uJ3Qgc2VlIHdoeSB0aGlzIGlzIG5lZWRlZC4NCj4gPiBJdCBzdXJlbHkgc2hvdWxkIGJlIHBv c3NpYmxlIHRvIHJlY29uZmlndXJlIGRldmljZSB3aXRoIGRpZmZlcmVudA0KPiA+IG51bWJlciBv ZiBxdWV1ZXMuDQo+ID4gS29uc3RhbnRpbg0KPiA+DQo+ID4gWWVzLCB5b3UgY2FuIGFkZCBuZXcg cXVldWVzIGJ1dCB5b3Ugc2hvdWxkbid0IHJlc2V0IHRoZSBidWxrIGFuZCB2ZWMgc2V0dGluZ3MN Cj4gPiB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIGNob3NlbiBieSB0aGUgcHJldmlvdXNseSBhbGxv Y2F0ZWQgcXVldWVzLg0KPiBXaHkgaXMgdGhhdD8gTWlnaHQgYmUgaW4gbmV3IHF1ZXVlIHNldHVw IHVzZXIgd2lsbCBjaGFuZ2Ugc2V0dGluZ3M/DQo+IA0KPiBUaGVyZSBpcyBubyByZXF1aXJlbWVu dCB0aGF0IHRoZSB1c2VyIGFsbG9jYXRlcyBhbGwgdGhlIFJYIHF1ZXVlcyBpbiB0aGUgc2FtZSB3 YXkuDQo+IFNvbWUgY291bGQgaGF2ZSBhIGRpZmZlcmVudCBudW1iZXJzIG9mIGRlc2NzIHdoaWNo IGlzIG9uZSBvZiB0aGUgY2hlY2tzIGluDQo+IGNoZWNrX3J4X2J1cnN0X2J1bGtfYWxsb2NfcHJl Y29uZGl0aW9ucygpDQoNCkV4YWN0bHkuIFRoYXQncyAgd2h5IGFmdGVyIGRldl9jb25maWd1cmUo KSB1c2VyIGhhcyB0byBjYWxsIHF1ZXVlX3NldHVwKCkgZm9yICphbGwqDQpxdWV1ZXMgaGUgcGxh bnMgdG8gdXNlLg0KDQo+IA0KPiANCj4gDQo+ID4gSWYgdGhvc2UgcXVldWVzDQo+ID4gc2V0IHJ4 X2J1bGtfYWxsb2NfYWxsb3dlZCB0byBiZSBmYWxzZSwgdGhlbiB0aGlzIGlzIGdvaW5nIHRvIGNh dXNlIGFuIGlzc3VlIHdpdGggcXVldWUNCj4gPiByZWxlYXNlIGxhdGVyIG9uLg0KPiANCj4gQ291 bGQgeW91IGJlIGEgYml0IG1vcmUgc3BlY2lmaWMgaGVyZToNCj4gV2hhdCB5b3UgdGhpbmsgd2ls bCBiZSBicm9rZW4gaW4gaXhnYmVfcnhfcXVldWVfcmVsZWFzZSgpIGluIHRoYXQgY2FzZT8NCj4g DQo+IFNvcnJ5LCBJIG1pc3Bva2UuwqAgSXQncyB0aGlzIGZ1bmN0aW9uLMKgaXhnYmVfcmVzZXRf cnhfcXVldWUoKSwNCj4gDQo+IMKgIMKgIMKgIMKgIC8qDQo+IMKgIMKgIMKgIMKgIMKgKiBCeSBk ZWZhdWx0LCB0aGUgUnggcXVldWUgc2V0dXAgZnVuY3Rpb24gYWxsb2NhdGVzIGVub3VnaCBtZW1v cnkgZm9yDQo+IMKgIMKgIMKgIMKgIMKgKiBJWEdCRV9NQVhfUklOR19ERVNDLsKgIFRoZSBSeCBC dXJzdCBidWxrIGFsbG9jYXRpb24gZnVuY3Rpb24gcmVxdWlyZXMNCj4gwqAgwqAgwqAgwqAgwqAq IGV4dHJhIG1lbW9yeSBhdCB0aGUgZW5kIG9mIHRoZSBkZXNjcmlwdG9yIHJpbmcgdG8gYmUgemVy bydkIG91dC4NCj4gwqAgwqAgwqAgwqAgwqAqLw0KPiDCoCDCoCDCoCDCoCBpZiAoYWRhcHRlci0+ cnhfYnVsa19hbGxvY19hbGxvd2VkKQ0KPiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAvKiB6ZXJv IG91dCBleHRyYSBtZW1vcnkgKi8NCj4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgbGVuICs9IFJU RV9QTURfSVhHQkVfUlhfTUFYX0JVUlNUOw0KPiANCj4gwqAgwqAgwqAgwqAgLyoNCj4gwqAgwqAg wqAgwqAgwqAqIFplcm8gb3V0IEhXIHJpbmcgbWVtb3J5LiBaZXJvIG91dCBleHRyYSBtZW1vcnkg YXQgdGhlIGVuZCBvZg0KPiDCoCDCoCDCoCDCoCDCoCogdGhlIEgvVyByaW5nIHNvIGxvb2stYWhl YWQgbG9naWMgaW4gUnggQnVyc3QgYnVsayBhbGxvYyBmdW5jdGlvbg0KPiDCoCDCoCDCoCDCoCDC oCogcmVhZHMgZXh0cmEgbWVtb3J5IGFzIHplcm9zLg0KPiDCoCDCoCDCoCDCoCDCoCovDQo+IMKg IMKgIMKgIMKgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgew0KPiDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCByeHEtPnJ4X3JpbmdbaV0gPSB6ZXJvZWRfZGVzYzsNCj4gwqAgwqAgwqAgwqAgfQ0K PiANCj4gU28geW91IHBvdGVudGlhbGx5IHdyaXRlIHBhc3QgdGhlIHJ4X3JpbmdbXSB5b3UgYWxs b2NhdGVkLg0KDQpXZSBhbHdheXMgYWxsb2NhdGUgcnhfcmluZ1tdIHRvIG1heGltdW0gcG9zc2li bGUgc2l6ZSBwbHVzIHNwYWNlIGZvciBmYWtlIGRlc2NyaXB0b3JzOg0KIA0KZHJpdmVycy9uZXQv aXhnYmUvaXhnYmVfcnh0eC5oOg0KI2RlZmluZSBSWF9SSU5HX1NaICgoSVhHQkVfTUFYX1JJTkdf REVTQyArIFJURV9QTURfSVhHQkVfUlhfTUFYX0JVUlNUKSAqIFwNCiAgICAgICAgICAgICAgICAg ICAgc2l6ZW9mKHVuaW9uIGl4Z2JlX2Fkdl9yeF9kZXNjKSkNCg0KdGhlbiBhdCBpeGdiZV9kZXZf cnhfcXVldWVfc2V0dXAoLi4uKToNCg0KICAvKg0KICAgICogQWxsb2NhdGUgUlggcmluZyBoYXJk d2FyZSBkZXNjcmlwdG9ycy4gQSBtZW16b25lIGxhcmdlIGVub3VnaCB0bw0KICAgICogaGFuZGxl IHRoZSBtYXhpbXVtIHJpbmcgc2l6ZSBpcyBhbGxvY2F0ZWQgaW4gb3JkZXIgdG8gYWxsb3cgZm9y DQogICAgKiByZXNpemluZyBpbiBsYXRlciBjYWxscyB0byB0aGUgcXVldWUgc2V0dXAgZnVuY3Rp b24uDQogICAgKi8NCiAgICByeiA9IHJ0ZV9ldGhfZG1hX3pvbmVfcmVzZXJ2ZShkZXYsICJyeF9y aW5nIiwgcXVldWVfaWR4LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS WF9SSU5HX1NaLCBJWEdCRV9BTElHTiwgc29ja2V0X2lkKTsNCiAgICAuLi4NCiAgICByeHEtPnJ4 X3JpbmcgPSAodW5pb24gaXhnYmVfYWR2X3J4X2Rlc2MgKikgcnotPmFkZHI7DQoNCg0KPiANCj4g WW91IGNhbid0IGNoYW5nZcKgcnhfYnVsa19hbGxvY19hbGxvd2VkIG9uY2UgaXQgaGFzIGJlZW4g c2V0IGFuZCB5b3UgaGF2ZSBhbGxvY2F0ZWQgcXVldWVzLg0KPiBJbiBmYWN0LCB5b3UgY2FuJ3Qg cmVhbGx5IGxldCBzb21lIGxhdGVyIHF1ZXVlIGNoYW5nZSB0aGlzIHNldHRpbmcgYWZ0ZXIgdGhl IGZpcnN0IHF1ZXVlIGRlY2lkZXMNCj4gd2hhdCBpdHNob3VsZCBiZS4NCg0KU2VlIGFib3ZlLg0K DQo+IA0KPiANCj4gDQo+ID7CoFRoaXMgYnJlYWtzOg0KPiA+DQo+ID4gcnRlX2V0aF9kZXZfY29u ZmlndXJlKC4uLiwgMSwgMSwgLi4uKTsNCj4gPiByeF9xdWV1ZV9zZXR1cCgxKQ0KPiA+IMKgIMKg W3J4X3F1ZXVlX3NldHVwIGRlY2lkZXMgdGhhdCBpdCBjYW4ndCBzdXBwb3J0IHJ4X2J1bGtfYWxs b2NfYWxsb3dlZF0NCj4gPiAuLg0KPiA+DQo+ID4gTGF0ZXIsIHlvdSB3YW50IHRvIGFkZCBzb21l IG1vcmUgcXVldWVzLMKgIHlvdSBjYWxsDQo+ID4NCj4gPiBldGhfZXRoX2Rldl9jb25maWd1cmUo Li4uLCAyLCAyLCAuLi4pOw0KPiANCj4gQWZ0ZXIgeW91IGNhbGwgZGV2X2NvbmZpZ3VyZSwgeW91 J2xsIGhhdmUgdG8gZG8gcXVldWVfc2V0dXAoKSBmb3IgYWxsIHlvdXIgcXVldWVzLg0KPiBkZXZf Y29uZmlndXJlKCkgY2FuIGNoYW5nZXMgc29tZSBnbG9iYWwgZGV2aWNlIHNldHRpbmdzLCBzbyBl YWNoIHF1ZXVlIGhhcyB0byBiZQ0KPiByZWNvbmZpZ3VyZWQuDQo+IEluIHlvdXIgZXhhbXBsZSBJ dCBzaG91bGQgYmU6DQo+IGV0aF9ldGhfZGV2X2NvbmZpZ3VyZSguLi4sIDIsIDIsIC4uLik7DQo+ IHJ4X3F1ZXVlX3NldHVwKC4uLiwwLCAuLi4pOw0KPiByeF9xdWV1ZV9zZXR1cCguLi4sMSwgLi4u KTsNCj4gDQo+IEtvbnN0YW50aW4NCj4gDQo+IA0KPiBOb3RoaW5nIGluIHRoZSBBUEkgc2F5cyB0 aGlzIG11c3QgaGFwcGVuLsKgIElmIHRoZXJlIHdoZXJlIHRydWUsIHNob3VsZG4ndCBydGVfZXRo X2Rldl9jb25maWd1cmUoKQ0KPiBhdXRvbWF0aWNhbGx5IGRyb3AgYW55IGV4aXN0aW5nIHF1ZXVl cz/CoCANCg0KT25lIG9mIHRoZSBmaXN0cyB0aGluZ3MgdGhhdCBpeGdiZV9kZXZfcnhfcXVldWVf c2V0dXAoKSAtIGNhbGxzIGl4Z2JlX3J4X3F1ZXVlX3JlbGVhc2UoKS4NCkluIHRoZW9yeSB0aGF0 IHByb2JhYmx5IGNvdWxkIGJlIG1vdmVkIHRvIHJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZSgpLCBidXQg SSB0aGluayBjdXJyZW50IG1vZGVsIGlzIG9rIHRvby4NCg0KPlRoZXJlIGlzIGV4aXN0aW5nIGNv ZGUgdGhhdCBkb2Vzbid0IGRvIHRoaXMuwqANCg0KVGhlbiBJIHRoaW5rIGl0IGlzIGEgYnVnIGlu IHRoYXQgY29kZS4NCiANCj4gU2hvdyBtZQ0KPiBpbiB0aGUgQVBJIHdoZXJlIEkgYW0gcmVxdWly ZWQgdG8gc2V0dXAgYWxsIG15IHF1ZXVlcyBfYWdhaW5fIGFmdGVyIGNhbGxpbmcgcnRlX2V0aF9k ZXZfY29uZmlndXJlKCkNCg0KSWYgeW91IHRoaW5rIHRoZSBkb2N1bWVudGF0aW9uIGRvZXNuJ3Qg ZXhwbGFpbiB0aGF0IHByb3Blcmx5ICAtICBmZWVsIGZyZWUgdG8gcmFpc2UgYSBidWcgYWdhaW5z IGRvYw0KYW5kL29yIHByb3ZpZGUgYSBwYXRjaCBmb3IgaXQuIA0KQXMgSSAgZXhwbGFpbmVkIGFi b3ZlIC0gZGV2X2NvbmZpZ3VyZSgpIG1pZ2h0IGNoYW5nZSBzb21lIGdsb2JhbCBzZXR0aW5ncw0K KG1heF9yeF9wa3QsIGZsb3ctZGlyZWN0b3Igc2V0dGluZ3MsIGV0Yy4pICB0aGF0IHdvdWxkIGFm ZmVjdCBlYWNoIHF1ZXVlIGluIHRoYXQgZGV2aWNlLg0KU28gcXVldWVfc2V0dXAoKSBpcyBuZWNl c3NhcnkgYWZ0ZXIgZGV2X2NvbmZpZ3VyZSgpIHRvIG1ha2Ugc3VyZSBpdCB3aWxsIG9wZXJhdGUg cHJvcGVybHkuDQoNCktvbnN0YW50aW4NCg0KPg0KPiANCj4gPiByeF9xdWV1ZV9zZXR1cCgyKQ0K PiA+IMKgIFtyeF9xdWV1ZV9zZXR1cCBob3BlZnVsbHkgbWFrZXMgdGhlIHNhbWUgY2hvaWNlIGFz IHJ4cWlkID0gMT9dDQo+ID4gLi4uDQo+ID4NCj4gPiBJcyBvbmUgc3VwcG9zZWQgdG8gcmVsZWFz ZSBhbGwgcXVldWVzIGJlZm9yZSBjYWxsaW5nIHJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZSgpPyBJZg0K PiA+IHRoYXQgaXMgdHJ1ZSwgaXQgc2VlbXMgbGlrZSB0aGUgY2hhbmdlX210dSBleGFtcGxlcyBJ IHNlZSBhcmUgcG9zc2libHkgd3JvbmcuwqAgQXMNCj4gPiBzdWdnZXN0ZWQgaW4ga2VucmVsX25p Y19pbnRlcmZhY2UucnN0Og0KPiA+DQo+ID4NCj4gPiDCoCDCoCDCoCDCoCByZXQgPSBydGVfZXRo X2Rldl9jb25maWd1cmUocG9ydF9pZCwgMSwgMSwgJmNvbmYpOw0KPiA+IMKgIMKgIMKgIMKgIGlm IChyZXQgPCAwKSB7DQo+ID4gwqAgwqAgwqAgwqAgwqAgwqAgUlRFX0xPRyhFUlIsIEFQUCwgIkZh aWwgdG8gcmVjb25maWd1cmUgcG9ydCAlZFxuIiwgcG9ydF9pZCk7DQo+ID4gwqAgwqAgwqAgwqAg wqAgwqAgcmV0dXJuIHJldDsNCj4gPiDCoCDCoCDCoCDCoCB9DQo+ID4NCj4gPiDCoCDCoCDCoCDC oCAvKiBSZXN0YXJ0IHNwZWNpZmljIHBvcnQgKi8NCj4gPg0KPiA+IMKgIMKgIMKgIMKgIHJldCA9 IHJ0ZV9ldGhfZGV2X3N0YXJ0KHBvcnRfaWQpOw0KPiA+IMKgIMKgIMKgIMKgIGlmIChyZXQgPCAw KSB7DQo+ID4gwqAgwqAgwqAgwqAgwqAgwqAgwqBSVEVfTE9HKEVSUiwgQVBQLCAiRmFpbCB0byBy ZXN0YXJ0IHBvcnQgJWRcbiIsIHBvcnRfaWQpOw0KPiA+IMKgIMKgIMKgIMKgIMKgIMKgIHJldHVy biByZXQ7DQo+ID4gwqAgwqAgwqAgwqAgfQ0KPiA+DQo+ID4gVGhpcyBpcyB3aWxsIG9idmlvdXNs eSByZXNldCB0aGUgcnhfYnVsa19hbGxvY19hbGxvd2VkIGFuZCBub3QgcmVhbGxvY2F0ZWQgdGhl IFJYIHF1ZXVlcy4NCj4gPg0KPiA+DQo+ID4gPsKgIMKgIMKgIMKgYWRhcHRlci0+cnhfYnVsa19h bGxvY19hbGxvd2VkID0gdHJ1ZTsNCj4gPiA+wqAgwqAgwqAgwqBhZGFwdGVyLT5yeF92ZWNfYWxs b3dlZCA9IHRydWU7DQo+ID4gPg0KPiA+ID4gK291dDoNCj4gPiA+wqAgwqAgwqAgwqByZXR1cm4g MDsNCj4gPiA+wqAgfQ0KPiA+ID4NCj4gPiA+IEBAIC00OTU5LDYgKzQ5NjYsNyBAQCBpeGdiZXZm X2Rldl9jb25maWd1cmUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ID4gPsKgIMKgIMKgIMKg c3RydWN0IHJ0ZV9ldGhfY29uZiAqY29uZiA9ICZkZXYtPmRhdGEtPmRldl9jb25mOw0KPiA+ID7C oCDCoCDCoCDCoHN0cnVjdCBpeGdiZV9hZGFwdGVyICphZGFwdGVyID0NCj4gPiA+wqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAoc3RydWN0IGl4Z2JlX2FkYXB0ZXIgKilkZXYtPmRh dGEtPmRldl9wcml2YXRlOw0KPiA+ID4gK8KgIMKgIMKgdWludDE2X3QgaTsNCj4gPiA+DQo+ID4g PsKgIMKgIMKgIMKgUE1EX0lOSVRfTE9HKERFQlVHLCAiQ29uZmlndXJlZCBWaXJ0dWFsIEZ1bmN0 aW9uIHBvcnQgaWQ6ICVkIiwNCj4gPiA+wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgZGV2 LT5kYXRhLT5wb3J0X2lkKTsNCj4gPiA+IEBAIC00OTgxLDExICs0OTg5LDE3IEBAIGl4Z2JldmZf ZGV2X2NvbmZpZ3VyZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCj4gPiA+DQo+ID4gPsKgIMKg IMKgIMKgLyoNCj4gPiA+wqAgwqAgwqAgwqAgKiBJbml0aWFsaXplIHRvIFRSVUUuIElmIGFueSBv ZiBSeCBxdWV1ZXMgZG9lc24ndCBtZWV0IHRoZSBidWxrDQo+ID4gPiAtwqAgwqAgwqAgKiBhbGxv Y2F0aW9uIG9yIHZlY3RvciBSeCBwcmVjb25kaXRpb25zIHdlIHdpbGwgcmVzZXQgaXQuDQo+ID4g PiArwqAgwqAgwqAgKiBhbGxvY2F0aW9uIG9yIHZlY3RvciBSeCBwcmVjb25kaXRpb25zIHdlIHdp bGwgcmVzZXQgaXQuIFdlDQo+ID4gPiArwqAgwqAgwqAgKiBjYW4gb25seSBkbyB0aGlzIGlzIHRo ZXJlIGFyZW4ndCBhbnkgZXhpc3RpbmcgUlggcXVldWVzLg0KPiA+ID7CoCDCoCDCoCDCoCAqLw0K PiA+ID4gK8KgIMKgIMKgZm9yIChpID0gMDsgaSA8IGRldi0+ZGF0YS0+bmJfcnhfcXVldWVzOyBp KyspIHsNCj4gPiA+ICvCoCDCoCDCoCDCoCDCoCDCoCDCoGlmIChkZXYtPmRhdGEtPnJ4X3F1ZXVl c1tpXSkNCj4gPiA+ICvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoGdvdG8gb3V0Ow0K PiA+ID4gK8KgIMKgIMKgfQ0KPiA+ID7CoCDCoCDCoCDCoGFkYXB0ZXItPnJ4X2J1bGtfYWxsb2Nf YWxsb3dlZCA9IHRydWU7DQo+ID4gPsKgIMKgIMKgIMKgYWRhcHRlci0+cnhfdmVjX2FsbG93ZWQg PSB0cnVlOw0KPiA+ID4NCj4gPiA+ICtvdXQ6DQo+ID4gPsKgIMKgIMKgIMKgcmV0dXJuIDA7DQo+ ID4gPsKgIH0NCj4gPiA+DQo+ID4gPiAtLQ0KPiA+ID4gMi45LjUNCg0K