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 3E9571041; Fri, 21 Sep 2018 16:25:47 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Sep 2018 07:25:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,285,1534834800"; d="scan'208";a="72671189" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga008.fm.intel.com with ESMTP; 21 Sep 2018 07:25:10 -0700 Received: from fmsmsx101.amr.corp.intel.com (10.18.124.199) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 21 Sep 2018 07:25:10 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx101.amr.corp.intel.com (10.18.124.199) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 21 Sep 2018 07:25:09 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.245]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.37]) with mapi id 14.03.0319.002; Fri, 21 Sep 2018 22:25:05 +0800 From: "Zhang, Qi Z" To: "Zhang, Qi Z" , Ilya Maximets , "dev@dpdk.org" CC: "Lu, Wenzhuo" , "Ananyev, Konstantin" , Laurent Hardy , "Dai, Wei" , "stable@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH] net/ixgbe: fix busy polling while fiber link update Thread-Index: AQHUSRgm2flqZ5cfnEGgMeOA0QVwsqTsM3Cg//+S8wCAAIcyoIAOjcpg Date: Fri, 21 Sep 2018 14:25:04 +0000 Message-ID: <039ED4275CED7440929022BC67E706115329F90B@SHSMSX103.ccr.corp.intel.com> References: <20180831123824eucas1p1cd2981c716c4764703e24c3eeb4d33c7~P_GOOSRuf0867908679eucas1p1K@eucas1p1.samsung.com> <039ED4275CED7440929022BC67E706115327FA5E@SHSMSX103.ccr.corp.intel.com> <20180910150708eucas1p220c16857c4277b311ddc000b9337d9cb~TEk8KngQJ1365413654eucas1p2a@eucas1p2.samsung.com> <039ED4275CED7440929022BC67E7061153284304@SHSMSX103.ccr.corp.intel.com> <20180912080338eucas1p1bfdacb30aa969cd607ccf99f64d6bf80~TmFveK2Dy2157121571eucas1p1U@eucas1p1.samsung.com> <039ED4275CED7440929022BC67E7061153284408@SHSMSX103.ccr.corp.intel.com> In-Reply-To: <039ED4275CED7440929022BC67E7061153284408@SHSMSX103.ccr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNjQ4NGRiM2MtMzA1YS00YWVkLWE0NDEtNTI5NjY5M2M2NDQyIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiVHVJVXp4QzB1ejJhXC9JWFwvMERUTVwvK2ZtYVN2ZjFHdE5cLzkyNGhzXC9HamM0Tk9JQ1JLY29OOGtuYTRZWm9NVGlTIn0= x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH] net/ixgbe: fix busy polling while fiber link update 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: Fri, 21 Sep 2018 14:25:48 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2IFttYWlsdG86ZGV2 LWJvdW5jZXNAZHBkay5vcmddIE9uIEJlaGFsZiBPZiBaaGFuZywgUWkgWg0KPiBTZW50OiBXZWRu ZXNkYXksIFNlcHRlbWJlciAxMiwgMjAxOCA0OjI5IFBNDQo+IFRvOiBJbHlhIE1heGltZXRzIDxp Lm1heGltZXRzQHNhbXN1bmcuY29tPjsgZGV2QGRwZGsub3JnDQo+IENjOiBMdSwgV2Vuemh1byA8 d2Vuemh1by5sdUBpbnRlbC5jb20+OyBBbmFueWV2LCBLb25zdGFudGluDQo+IDxrb25zdGFudGlu LmFuYW55ZXZAaW50ZWwuY29tPjsgTGF1cmVudCBIYXJkeQ0KPiA8bGF1cmVudC5oYXJkeUA2d2lu ZC5jb20+OyBEYWksIFdlaSA8d2VpLmRhaUBpbnRlbC5jb20+Ow0KPiBzdGFibGVAZHBkay5vcmcN Cj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIXSBuZXQvaXhnYmU6IGZpeCBidXN5IHBv bGxpbmcgd2hpbGUgZmliZXIgbGluaw0KPiB1cGRhdGUNCj4gDQo+IA0KPiANCj4gPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IElseWEgTWF4aW1ldHMgW21haWx0bzppLm1h eGltZXRzQHNhbXN1bmcuY29tXQ0KPiA+IFNlbnQ6IFdlZG5lc2RheSwgU2VwdGVtYmVyIDEyLCAy MDE4IDQ6MDUgUE0NCj4gPiBUbzogWmhhbmcsIFFpIFogPHFpLnouemhhbmdAaW50ZWwuY29tPjsg ZGV2QGRwZGsub3JnDQo+ID4gQ2M6IEx1LCBXZW56aHVvIDx3ZW56aHVvLmx1QGludGVsLmNvbT47 IEFuYW55ZXYsIEtvbnN0YW50aW4NCj4gPiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT47 IExhdXJlbnQgSGFyZHkNCj4gPiA8bGF1cmVudC5oYXJkeUA2d2luZC5jb20+OyBEYWksIFdlaSA8 d2VpLmRhaUBpbnRlbC5jb20+Ow0KPiA+IHN0YWJsZUBkcGRrLm9yZw0KPiA+IFN1YmplY3Q6IFJl OiBbZHBkay1kZXZdIFtQQVRDSF0gbmV0L2l4Z2JlOiBmaXggYnVzeSBwb2xsaW5nIHdoaWxlDQo+ ID4gZmliZXIgbGluayB1cGRhdGUNCj4gPg0KPiA+IE9uIDEyLjA5LjIwMTggMDk6NDksIFpoYW5n LCBRaSBaIHdyb3RlOg0KPiA+ID4NCj4gPiA+DQo+ID4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gPiA+PiBGcm9tOiBJbHlhIE1heGltZXRzIFttYWlsdG86aS5tYXhpbWV0c0BzYW1z dW5nLmNvbV0NCj4gPiA+PiBTZW50OiBNb25kYXksIFNlcHRlbWJlciAxMCwgMjAxOCAxMTowOSBQ TQ0KPiA+ID4+IFRvOiBaaGFuZywgUWkgWiA8cWkuei56aGFuZ0BpbnRlbC5jb20+OyBkZXZAZHBk ay5vcmcNCj4gPiA+PiBDYzogTHUsIFdlbnpodW8gPHdlbnpodW8ubHVAaW50ZWwuY29tPjsgQW5h bnlldiwgS29uc3RhbnRpbg0KPiA+ID4+IDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tPjsg TGF1cmVudCBIYXJkeQ0KPiA+ID4+IDxsYXVyZW50LmhhcmR5QDZ3aW5kLmNvbT47IERhaSwgV2Vp IDx3ZWkuZGFpQGludGVsLmNvbT47DQo+ID4gPj4gc3RhYmxlQGRwZGsub3JnDQo+ID4gPj4gU3Vi amVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIXSBuZXQvaXhnYmU6IGZpeCBidXN5IHBvbGxpbmcg d2hpbGUNCj4gPiA+PiBmaWJlciBsaW5rIHVwZGF0ZQ0KPiA+ID4+DQo+ID4gPj4gT24gMDQuMDku MjAxOCAwOTowOCwgWmhhbmcsIFFpIFogd3JvdGU6DQo+ID4gPj4+IEhpIElseWE6DQo+ID4gPj4+ DQo+ID4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4+Pj4gRnJvbTogZGV2 IFttYWlsdG86ZGV2LWJvdW5jZXNAZHBkay5vcmddIE9uIEJlaGFsZiBPZiBJbHlhDQo+ID4gPj4+ PiBNYXhpbWV0cw0KPiA+ID4+Pj4gU2VudDogRnJpZGF5LCBBdWd1c3QgMzEsIDIwMTggODo0MCBQ TQ0KPiA+ID4+Pj4gVG86IGRldkBkcGRrLm9yZw0KPiA+ID4+Pj4gQ2M6IEx1LCBXZW56aHVvIDx3 ZW56aHVvLmx1QGludGVsLmNvbT47IEFuYW55ZXYsIEtvbnN0YW50aW4NCj4gPiA+Pj4+IDxrb25z dGFudGluLmFuYW55ZXZAaW50ZWwuY29tPjsgTGF1cmVudCBIYXJkeQ0KPiA+ID4+Pj4gPGxhdXJl bnQuaGFyZHlANndpbmQuY29tPjsgRGFpLCBXZWkgPHdlaS5kYWlAaW50ZWwuY29tPjsgSWx5YQ0K PiA+ID4+Pj4gTWF4aW1ldHMgPGkubWF4aW1ldHNAc2Ftc3VuZy5jb20+OyBzdGFibGVAZHBkay5v cmcNCj4gPiA+Pj4+IFN1YmplY3Q6IFtkcGRrLWRldl0gW1BBVENIXSBuZXQvaXhnYmU6IGZpeCBi dXN5IHBvbGxpbmcgd2hpbGUNCj4gPiA+Pj4+IGZpYmVyIGxpbmsgdXBkYXRlDQo+ID4gPj4+Pg0K PiA+ID4+Pj4gSWYgdGhlIG11bHRpc3BlZWQgZmliZXIgbGluayBpcyBpbiBET1dOIHN0YXRlLCBp eGdiZV9zZXR1cF9saW5rDQo+ID4gPj4+PiBjb3VsZCB0YWtlIGFyb3VuZCBhIHNlY29uZCBvZiBi dXN5IHBvbGxpbmcuIFRoaXMgaXMgaGlnaGx5DQo+ID4gPj4+PiBpbmNvbnZlbmllbnQgZm9yIHRo ZSBjYXNlIHdoZXJlIHNpbmdsZSB0aHJlYWQgcGVyaW9kaWNhbGx5IGNoZWNrcw0KPiA+ID4+Pj4g dGhlIGxpbmsNCj4gPiBzdGF0dXNlcy4NCj4gPiA+Pj4+IEZvciBleGFtcGxlLCBPVlMgbWFpbiB0 aHJlYWQgcGVyaW9kaWNhbGx5IHVwZGF0ZXMgdGhlIGxpbmsNCj4gPiA+Pj4+IHN0YXR1c2VzIGFu ZCBoYW5ncyBmb3IgYSByZWFsbHkgbG9uZyB0aW1lIGJ1c3kgd2FpdGluZyBvbg0KPiA+ID4+Pj4g aXhnYmVfc2V0dXBfbGluaygpIGZvciBhIERPV04gZmliZXIgcG9ydHMuIEZvciBjYXNlIHdpdGgg MyBkb3duDQo+ID4gPj4+PiBwb3J0cyBpdCBoYW5ncyBmb3IgYSAzIHNlY29uZHMgYW5kIHVuYWJs ZSB0byBkbyBhbnl0aGluZyBpbmNsdWRpbmcNCj4gcGFja2V0IHByb2Nlc3NpbmcuDQo+ID4gPj4+ PiBGaXggdGhhdCBieSBzaGlmdGluZyB0aGF0IHdvcmthcm91bmQgdG8gYSBzZXBhcmF0ZSB0aHJl YWQgYnkNCj4gPiA+Pj4+IGFsYXJtIGhhbmRsZXIgdGhhdCB3aWxsIHRyeSB0byBzZXQgdXAgbGlu ayBpZiBpdCBpcyBET1dOLg0KPiA+ID4+Pg0KPiA+ID4+PiBEb2VzIHRoYXQgbWVhbiB3ZSB3aWxs IGJsb2NrIHRoZSBpbnRlcnJ1cHQgdGhyZWFkIGZvciAzIHNlY29uZHM/DQo+ID4gPj4NCj4gPiA+ PiBUaHJlZSB0aW1lcyBmb3Igb25lIHNlY29uZC4gT3RoZXIgd29yayBjb3VsZCBiZSBzY2hlZHVs ZWQgYmV0d2Vlbi4NCj4gPiA+PiBJTUhPLCBpdCdzIG11Y2ggYmV0dGVyIHRoYW4gYmxvY2tpbmcg dXN1YWwgY2FsbGVyIGZvciAzIHNlY29uZHMuDQo+ID4gPj4NCj4gPiA+Pj4gQWxzbywgY2FuIHdl IGd1YXJhbnRlZSB0aGVyZSB3aWxsIG5vdCBiZSBhbnkgcmFjZSBjb25kaXRpb24gaWYgd2UNCj4g PiA+Pj4gY2FsbA0KPiA+ID4+IGl4Z2JlX3NldHVwX2xpbmsgYXQgYW5vdGhlciB0aHJlYWQsIHRo ZSBiYXNlIGNvZGUgQVBJIGlzIG5vdA0KPiA+ID4+IGFzc3VtZWQgdG8gYmUgdGhyZWFkLXNhZmUg YXMgSSBrbm93Lg0KPiA+ID4+DQo+ID4gPj4gVGhlIG9ubHkgdXNlciBvZiAnaXhnYmVfc2V0dXBf bGluaycgaXMgJ2l4Z2JlX2Rldl9zdGFydCcsIGJ1dCBpdA0KPiA+ID4+IGNvdWxkIGJlIGNhbGxl ZCBvbmx5IGlmIGRldmljZSBzdG9wcGVkLiAnaXhnYmVfZGV2X3N0b3AnIGNhbmNlbHMgdGhlDQo+ IGFsYXJtLg0KPiA+ID4+IFJhY2Ugd2l0aCAnbGlua191cGRhdGUnIGF2b2lkZWQgYnkgJ0lYR0JF X0ZMQUdfTkVFRF9MSU5LX0NPTkZJRycNCj4gZmxhZy4NCj4gPiA+DQo+ID4gPiBJIGd1ZXNzLCBp dCcgbm90IG9ubHkgYWJvdXQgd2hlbiBpeGdiX3NldHVwX2xpbmsgcmFjZSB3aXRoIGl0c2VsZiwN Cj4gPiA+IGJ1dCBhbHNvDQo+ID4gd2hlbiBpdCByYWNlIHdpdGggb3RoZXIgQVBJcy4NCj4gPiA+ IEFsc28gdGhlIGNvbmNlcm4gaXMsIGV2ZW4gaW4gY3VycmVudCB2ZXJzaW9uLCB3ZSBjYW4gcHJv dmUgdGhlcmUgaXMNCj4gPiA+IG5vIGlzc3VlLA0KPiA+IGhvdyBjYW4gd2UgZ3VhcmFudGVlIHdl IGFyZSBzYWZlIGZvciBmdXR1cmUgYmFzZSBjb2RlIHVwZGF0ZT8gSXQncyBub3QNCj4gPiBkZXNp Z25lZCBhcyB0aHJlYWQtc2FmZS4NCj4gPiA+IEZvciBteSBvcHRpb24sIHRoZSBjaGFuZ2UgaXMg cmlza3kuDQo+ID4NCj4gPiBJbiBjdXJyZW50IGltcGxlbWVudGF0aW9uIGludGVycnVwdCBoYW5k bGVyIGFscmVhZHkgY2FsbHMgdGhlDQo+ID4gJ2l4Z2JlX2Rldl9saW5rX3VwZGF0ZScgd2hpY2gg c3Vic2VxdWVudGx5IGNhbGxzICdpeGdiZV9zZXR1cF9saW5rJw0KPiA+IGluIG91ciBjYXNlIGlm IExTQyBpbnRlcnJ1cHRzIGVuYWJsZWQuIFNvLCBteSBjaGFuZ2UgbWFrZXMgdGhlIGRyaXZlcg0K PiA+IGV2ZW4gc2FmZXIgYnkgbW92aW5nICdpeGdiZV9zZXR1cF9saW5rJyB0byB0aGUgc2FtZSBp bnRlcnJ1cHQgdGhyZWFkLg0KPiA+IE90aGVyd2lzZSB0d28gdGhyZWFkcyAoaW50ZXJydXB0cyBo YW5kbGVyIGFuZCB0aGUgbGluayBzdGF0dXMgY2hlY2tpbmcNCj4gPiB0aHJlYWQpIGNvdWxkIGNh bGwgJ2l4Z2JlX3NldHVwX2xpbmsnIHNpbXVsdGFuZW91c2x5Lg0KPiANCj4gT2ssIHlvdSBhcmUg cmlnaHQsIHNlZW1zIHRoZSBjb25jZXJuIEkgaGF2ZSBpcyBhbHJlYWR5IGV4aXN0ICwgeW91ciBw YXRjaCBkb2VzDQo+IG5vdCBpbnRyb2R1Y2UgbmV3IGlzc3VlLg0KPiBTbyBJIGhhdmUgbm8gb2Jq ZWN0aW9uIGlmIHRoaXMgd2lsbCBmaXggc29tZSBpc3N1ZS4NCj4gQnV0IGxldCdzIGNoZWNrIGlm IGFueSBpeGdiZSBleHBlcnRzIHdpbGwgY29tbWVudC4NCj4gDQo+IFJlZ2FyZHMNCj4gUWkNCj4g DQo+ID4NCj4gPiA+DQo+ID4gPiBCdHcsIHNpbmNlIGl4Z2JlIHN1cHBvcnQgTFNDLCBpdCBpcyBu b3QgbmVjZXNzYXJ5IGZvciAic2luZ2xlIHRocmVhZA0KPiA+IHBlcmlvZGljYWxseSBjaGVja3Mg dGhlIGxpbmsgc3RhdHVzZXMiLCByaWdodD8NCj4gPg0KPiA+IEluIGN1cnJlbnQgaW1wbGVtZW50 YXRpb24gaXQgd2lsbCB0YWtlIGF0IGxlYXN0IDUgc2Vjb25kcyAoNCArIDEpIGZvcg0KPiA+IHRo ZSBpbnRlcnJ1cHQgaGFuZGxlciB0byBkZXRlY3QgRE9XTiBsaW5rIHN0YXRlIGZvciBpeGdiZSBt dWx0aXNwZWVkDQo+ID4gZmliZXIuIFRoaXMgaXMgdG9vIG11Y2ggZm9yIG1hbnkgcmVhbCB3b3Js ZCBjYXNlcy4NCj4gPg0KPiA+ID4NCj4gPiA+Pg0KPiA+ID4+Pg0KPiA+ID4+PiBSZWdhcmRzDQo+ ID4gPj4+IFFpDQo+ID4gPj4+DQo+ID4gPj4+Pg0KPiA+ID4+Pj4gRml4ZXM6IGMxMmQyMmY2NWIx MyAoIm5ldC9peGdiZTogZW5zdXJlIGxpbmsgc3RhdHVzIGlzIHVwZGF0ZWQiKQ0KPiA+ID4+Pj4g Q0M6IHN0YWJsZUBkcGRrLm9yZw0KPiA+ID4+Pj4NCj4gPiA+Pj4+IFNpZ25lZC1vZmYtYnk6IEls eWEgTWF4aW1ldHMgPGkubWF4aW1ldHNAc2Ftc3VuZy5jb20+DQoNClJldmlld2VkLWJ5OiBRaSBa aGFuZyA8cWkuei56aGFuZ0BpbnRlbC5jb20+DQoNCj4gPiA+Pj4+IC0tLQ0KPiA+ID4+Pj4gIGRy aXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5jIHwgNDMNCj4gPiA+Pj4+ICsrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tDQo+ID4gPj4+PiAgMSBmaWxlIGNoYW5nZWQsIDMyIGluc2Vy dGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQ0KPiA+ID4+Pj4NCj4gPiA+Pj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuYw0KPiA+ID4+Pj4gYi9kcml2ZXJzL25l dC9peGdiZS9peGdiZV9ldGhkZXYuYw0KPiA+ID4+Pj4gaW5kZXggMjZiMTkyNzM3Li5hMzNiOWE2 ZTggMTAwNjQ0DQo+ID4gPj4+PiAtLS0gYS9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYu Yw0KPiA+ID4+Pj4gKysrIGIvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmMNCj4gPiA+ Pj4+IEBAIC0yMjEsNiArMjIxLDggQEAgc3RhdGljIGludCBpeGdiZV9kZXZfaW50ZXJydXB0X2Fj dGlvbihzdHJ1Y3QNCj4gPiA+Pj4+IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ID4gPj4+PiAgCQkJCSAg ICAgIHN0cnVjdCBydGVfaW50cl9oYW5kbGUgKmhhbmRsZSk7ICBzdGF0aWMgdm9pZA0KPiA+ID4+ Pj4gaXhnYmVfZGV2X2ludGVycnVwdF9oYW5kbGVyKHZvaWQgKnBhcmFtKTsgIHN0YXRpYyB2b2lk DQo+ID4gPj4+PiBpeGdiZV9kZXZfaW50ZXJydXB0X2RlbGF5ZWRfaGFuZGxlcih2b2lkICpwYXJh bSk7DQo+ID4gPj4+PiArc3RhdGljIHZvaWQgaXhnYmVfZGV2X3NldHVwX2xpbmtfYWxhcm1faGFu ZGxlcih2b2lkICpwYXJhbSk7DQo+ID4gPj4+PiArDQo+ID4gPj4+PiAgc3RhdGljIGludCBpeGdi ZV9hZGRfcmFyKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCBzdHJ1Y3QNCj4gPiA+Pj4+IGV0aGVy X2FkZHIgKm1hY19hZGRyLA0KPiA+ID4+Pj4gIAkJCSB1aW50MzJfdCBpbmRleCwgdWludDMyX3Qg cG9vbCk7ICBzdGF0aWMgdm9pZA0KPiA+ID4+Pj4gaXhnYmVfcmVtb3ZlX3JhcihzdHJ1Y3QgcnRl X2V0aF9kZXYgKmRldiwgdWludDMyX3QgaW5kZXgpOyBAQA0KPiA+ID4+Pj4gLTI3OTEsNiArMjc5 Myw4IEBAIGl4Z2JlX2Rldl9zdG9wKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KPiA+ID4+Pj4N Cj4gPiA+Pj4+ICAJUE1EX0lOSVRfRlVOQ19UUkFDRSgpOw0KPiA+ID4+Pj4NCj4gPiA+Pj4+ICsJ cnRlX2VhbF9hbGFybV9jYW5jZWwoaXhnYmVfZGV2X3NldHVwX2xpbmtfYWxhcm1faGFuZGxlciwg ZGV2KTsNCj4gPiA+Pj4+ICsNCj4gPiA+Pj4+ICAJLyogZGlzYWJsZSBpbnRlcnJ1cHRzICovDQo+ ID4gPj4+PiAgCWl4Z2JlX2Rpc2FibGVfaW50cihodyk7DQo+ID4gPj4+Pg0KPiA+ID4+Pj4gQEAg LTM5NjksNiArMzk3MywyNSBAQCBpeGdiZXZmX2NoZWNrX2xpbmsoc3RydWN0IGl4Z2JlX2h3ICpo dywNCj4gPiA+Pj4+IGl4Z2JlX2xpbmtfc3BlZWQgKnNwZWVkLA0KPiA+ID4+Pj4gIAlyZXR1cm4g cmV0X3ZhbDsNCj4gPiA+Pj4+ICB9DQo+ID4gPj4+Pg0KPiA+ID4+Pj4gK3N0YXRpYyB2b2lkDQo+ ID4gPj4+PiAraXhnYmVfZGV2X3NldHVwX2xpbmtfYWxhcm1faGFuZGxlcih2b2lkICpwYXJhbSkg ew0KPiA+ID4+Pj4gKwlzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiA9IChzdHJ1Y3QgcnRlX2V0aF9k ZXYgKilwYXJhbTsNCj4gPiA+Pj4+ICsJc3RydWN0IGl4Z2JlX2h3ICpodyA9DQo+ID4gPj4+PiBJ WEdCRV9ERVZfUFJJVkFURV9UT19IVyhkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCj4gPiA+Pj4+ ICsJc3RydWN0IGl4Z2JlX2ludGVycnVwdCAqaW50ciA9DQo+ID4gPj4+PiArCQlJWEdCRV9ERVZf UFJJVkFURV9UT19JTlRSKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KPiA+ID4+Pj4gKwl1MzIg c3BlZWQ7DQo+ID4gPj4+PiArCWJvb2wgYXV0b25lZyA9IGZhbHNlOw0KPiA+ID4+Pj4gKw0KPiA+ ID4+Pj4gKwlzcGVlZCA9IGh3LT5waHkuYXV0b25lZ19hZHZlcnRpc2VkOw0KPiA+ID4+Pj4gKwlp ZiAoIXNwZWVkKQ0KPiA+ID4+Pj4gKwkJaXhnYmVfZ2V0X2xpbmtfY2FwYWJpbGl0aWVzKGh3LCAm c3BlZWQsICZhdXRvbmVnKTsNCj4gPiA+Pj4+ICsNCj4gPiA+Pj4+ICsJaXhnYmVfc2V0dXBfbGlu ayhodywgc3BlZWQsIHRydWUpOw0KPiA+ID4+Pj4gKw0KPiA+ID4+Pj4gKwlpbnRyLT5mbGFncyAm PSB+SVhHQkVfRkxBR19ORUVEX0xJTktfQ09ORklHOyB9DQo+ID4gPj4+PiArDQo+ID4gPj4+PiAg LyogcmV0dXJuIDAgbWVhbnMgbGluayBzdGF0dXMgY2hhbmdlZCwgLTEgbWVhbnMgbm90IGNoYW5n ZWQgKi8NCj4gPiA+Pj4+IGludCBpeGdiZV9kZXZfbGlua191cGRhdGVfc2hhcmUoc3RydWN0IHJ0 ZV9ldGhfZGV2ICpkZXYsIEBADQo+ID4gPj4+PiAtMzk4MSw5DQo+ID4gPj4+PiArNDAwNCw3IEBA IGl4Z2JlX2Rldl9saW5rX3VwZGF0ZV9zaGFyZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCj4g PiA+Pj4+ICAJCUlYR0JFX0RFVl9QUklWQVRFX1RPX0lOVFIoZGV2LT5kYXRhLT5kZXZfcHJpdmF0 ZSk7DQo+ID4gPj4+PiAgCWludCBsaW5rX3VwOw0KPiA+ID4+Pj4gIAlpbnQgZGlhZzsNCj4gPiA+ Pj4+IC0JdTMyIHNwZWVkID0gMDsNCj4gPiA+Pj4+ICAJaW50IHdhaXQgPSAxOw0KPiA+ID4+Pj4g LQlib29sIGF1dG9uZWcgPSBmYWxzZTsNCj4gPiA+Pj4+DQo+ID4gPj4+PiAgCW1lbXNldCgmbGlu aywgMCwgc2l6ZW9mKGxpbmspKTsNCj4gPiA+Pj4+ICAJbGluay5saW5rX3N0YXR1cyA9IEVUSF9M SU5LX0RPV047IEBAIC0zOTkzLDEzICs0MDE0LDggQEANCj4gPiA+Pj4+IGl4Z2JlX2Rldl9saW5r X3VwZGF0ZV9zaGFyZShzdHJ1Y3QNCj4gPiA+PiBydGVfZXRoX2Rldg0KPiA+ID4+Pj4gKmRldiwN Cj4gPiA+Pj4+DQo+ID4gPj4+PiAgCWh3LT5tYWMuZ2V0X2xpbmtfc3RhdHVzID0gdHJ1ZTsNCj4g PiA+Pj4+DQo+ID4gPj4+PiAtCWlmICgoaW50ci0+ZmxhZ3MgJiBJWEdCRV9GTEFHX05FRURfTElO S19DT05GSUcpICYmDQo+ID4gPj4+PiAtCQlpeGdiZV9nZXRfbWVkaWFfdHlwZShodykgPT0gaXhn YmVfbWVkaWFfdHlwZV9maWJlcikgew0KPiA+ID4+Pj4gLQkJc3BlZWQgPSBody0+cGh5LmF1dG9u ZWdfYWR2ZXJ0aXNlZDsNCj4gPiA+Pj4+IC0JCWlmICghc3BlZWQpDQo+ID4gPj4+PiAtCQkJaXhn YmVfZ2V0X2xpbmtfY2FwYWJpbGl0aWVzKGh3LCAmc3BlZWQsICZhdXRvbmVnKTsNCj4gPiA+Pj4+ IC0JCWl4Z2JlX3NldHVwX2xpbmsoaHcsIHNwZWVkLCB0cnVlKTsNCj4gPiA+Pj4+IC0JfQ0KPiA+ ID4+Pj4gKwlpZiAoaW50ci0+ZmxhZ3MgJiBJWEdCRV9GTEFHX05FRURfTElOS19DT05GSUcpDQo+ ID4gPj4+PiArCQlyZXR1cm4gcnRlX2V0aF9saW5rc3RhdHVzX3NldChkZXYsICZsaW5rKTsNCj4g PiA+Pj4+DQo+ID4gPj4+PiAgCS8qIGNoZWNrIGlmIGl0IG5lZWRzIHRvIHdhaXQgdG8gY29tcGxl dGUsIGlmIGxzYyBpbnRlcnJ1cHQgaXMgZW5hYmxlZCAqLw0KPiA+ID4+Pj4gIAlpZiAod2FpdF90 b19jb21wbGV0ZSA9PSAwIHx8IGRldi0+ZGF0YS0+ZGV2X2NvbmYuaW50cl9jb25mLmxzYw0KPiA+ ID4+Pj4gIT0NCj4gPiA+Pj4+IDApIEBADQo+ID4gPj4+PiAtNDAxNywxMSArNDAzMywxNCBAQCBp eGdiZV9kZXZfbGlua191cGRhdGVfc2hhcmUoc3RydWN0DQo+ID4gPj4+PiBydGVfZXRoX2Rldg0K PiA+ID4+ICpkZXYsDQo+ID4gPj4+PiAgCX0NCj4gPiA+Pj4+DQo+ID4gPj4+PiAgCWlmIChsaW5r X3VwID09IDApIHsNCj4gPiA+Pj4+IC0JCWludHItPmZsYWdzIHw9IElYR0JFX0ZMQUdfTkVFRF9M SU5LX0NPTkZJRzsNCj4gPiA+Pj4+ICsJCWlmIChpeGdiZV9nZXRfbWVkaWFfdHlwZShodykgPT0g aXhnYmVfbWVkaWFfdHlwZV9maWJlcikgew0KPiA+ID4+Pj4gKwkJCWludHItPmZsYWdzIHw9IElY R0JFX0ZMQUdfTkVFRF9MSU5LX0NPTkZJRzsNCj4gPiA+Pj4+ICsJCQlydGVfZWFsX2FsYXJtX3Nl dCgxMCwNCj4gPiA+Pj4+ICsJCQkJaXhnYmVfZGV2X3NldHVwX2xpbmtfYWxhcm1faGFuZGxlciwg ZGV2KTsNCj4gPiA+Pj4+ICsJCX0NCj4gPiA+Pj4+ICAJCXJldHVybiBydGVfZXRoX2xpbmtzdGF0 dXNfc2V0KGRldiwgJmxpbmspOw0KPiA+ID4+Pj4gIAl9DQo+ID4gPj4+Pg0KPiA+ID4+Pj4gLQlp bnRyLT5mbGFncyAmPSB+SVhHQkVfRkxBR19ORUVEX0xJTktfQ09ORklHOw0KPiA+ID4+Pj4gIAls aW5rLmxpbmtfc3RhdHVzID0gRVRIX0xJTktfVVA7DQo+ID4gPj4+PiAgCWxpbmsubGlua19kdXBs ZXggPSBFVEhfTElOS19GVUxMX0RVUExFWDsNCj4gPiA+Pj4+DQo+ID4gPj4+PiBAQCAtNTEyOCw2 ICs1MTQ3LDggQEAgaXhnYmV2Zl9kZXZfc3RvcChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCj4g PiA+Pj4+DQo+ID4gPj4+PiAgCVBNRF9JTklUX0ZVTkNfVFJBQ0UoKTsNCj4gPiA+Pj4+DQo+ID4g Pj4+PiArCXJ0ZV9lYWxfYWxhcm1fY2FuY2VsKGl4Z2JlX2Rldl9zZXR1cF9saW5rX2FsYXJtX2hh bmRsZXIsIGRldik7DQo+ID4gPj4+PiArDQo+ID4gPj4+PiAgCWl4Z2JldmZfaW50cl9kaXNhYmxl KGRldik7DQo+ID4gPj4+Pg0KPiA+ID4+Pj4gIAlody0+YWRhcHRlcl9zdG9wcGVkID0gMTsNCj4g PiA+Pj4+IC0tDQo+ID4gPj4+PiAyLjE3LjENCj4gPiA+Pj4NCg==