From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C20D8C43218 for ; Thu, 25 Apr 2019 20:35:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9C7CB206A3 for ; Thu, 25 Apr 2019 20:35:52 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="VHlNOtT3" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730962AbfDYUfv (ORCPT ); Thu, 25 Apr 2019 16:35:51 -0400 Received: from mail-eopbgr60057.outbound.protection.outlook.com ([40.107.6.57]:23524 "EHLO EUR04-DB3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725937AbfDYUfv (ORCPT ); Thu, 25 Apr 2019 16:35:51 -0400 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=Jvri9g3ahen+mVD/JuPyIcRrkGZMH1pAw4doqcdH3o4=; b=VHlNOtT3znJjyRkvCzOglUlMGVuwcaUK+1tNCt1EAkH5aV+ttDi7vFEi51zVIH1sA/70i4caiV34OYVv70/FXBJUDuLTI5qBN/SOm3c9kdXOX1gwsv04jmElCTs2tIsWaVGY27ifAmnk8KU94kVnJ8QORKvA5hqW+kPqV93uHM4= Received: from DB8PR05MB5898.eurprd05.prod.outlook.com (20.179.9.32) by DB8PR05MB6250.eurprd05.prod.outlook.com (20.179.12.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1835.13; Thu, 25 Apr 2019 20:35:42 +0000 Received: from DB8PR05MB5898.eurprd05.prod.outlook.com ([fe80::ed24:8317:76e4:1a07]) by DB8PR05MB5898.eurprd05.prod.outlook.com ([fe80::ed24:8317:76e4:1a07%4]) with mapi id 15.20.1835.010; Thu, 25 Apr 2019 20:35:42 +0000 From: Saeed Mahameed To: "firogm@gmail.com" , "sathya.perla@broadcom.com" , "sriharsha.basavapatna@broadcom.com" , "fyang@suse.com" , "somnath.kotur@broadcom.com" , "ajit.khaparde@broadcom.com" , "davem@davemloft.net" CC: "netdev@vger.kernel.org" Subject: Re: [PATCH 1/1] be2net: Detach interface for avoiding a system crash Thread-Topic: [PATCH 1/1] be2net: Detach interface for avoiding a system crash Thread-Index: AQHU6IX4SLRCsB23c0mz5MdCfubY+qYnfhAAgBoa+QCAALu6AIABO8iAgACdy4CABsTVAIACiKyA Date: Thu, 25 Apr 2019 20:35:41 +0000 Message-ID: <5155e07735ed6ebf4bce904cc666827c0573f13a.camel@mellanox.com> References: <20190401122421.30116-1-fyang@suse.com> <786ef1d29facea3163b91ce160dd146f5759d160.camel@mellanox.com> <22d06c53-2cfc-6000-ba0d-044dd9457a10@suse.com> <761637d4ccc2ec265b7418fa31c36c0f37d574f1.camel@mellanox.com> <65b80fd5-7dcf-3cc6-b5e9-00a6a9d8706a@suse.com> <03607909a259d01b461d912ccff0042554871a37.camel@mellanox.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.30.5 (3.30.5-1.fc29) authentication-results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; x-originating-ip: [209.116.155.178] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: abaecb1f-15c2-4e04-44dd-08d6c9bd95fc x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020);SRVR:DB8PR05MB6250; x-ms-traffictypediagnostic: DB8PR05MB6250: x-microsoft-antispam-prvs: x-forefront-prvs: 0018A2705B x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(396003)(136003)(346002)(366004)(39860400002)(376002)(189003)(199004)(3846002)(229853002)(81166006)(81156014)(8676002)(8936002)(6116002)(6512007)(5660300002)(68736007)(2906002)(53936002)(2501003)(478600001)(305945005)(118296001)(25786009)(6486002)(6246003)(6436002)(97736004)(4326008)(14454004)(316002)(93886005)(11346002)(2616005)(99286004)(446003)(7736002)(86362001)(6506007)(53546011)(71190400001)(71200400001)(186003)(110136005)(58126008)(2201001)(102836004)(26005)(36756003)(14444005)(5024004)(76176011)(66946007)(476003)(73956011)(66476007)(66556008)(486006)(64756008)(66446008)(76116006)(256004)(91956017)(66066001);DIR:OUT;SFP:1101;SCL:1;SRVR:DB8PR05MB6250;H:DB8PR05MB5898.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-message-info: 0Q2lVoLYxOyQ/Q/o9b6cTC6sqOUIRJ51wl8EjFz5/IzEFuXT/qsho3vNBozqZcJWGwOUvMVGLtMojjgkhE1Di/LYwmhmw7j7tgqiTi4VLalSiCbHvXTFOHiqZsegFOl+1mUM1R3IpdX8SEL1Cmru6j98LS6JtK43lbagyg0HAbOaWbybsS/+kTEvF1uMh9+TKA42rliMThT1p65nCGuO7Kfs2Grw1APowwMUqhcAeh+JschEJz0j2jnmPAzczCtlM6MUh7IYfOvpjvYpYidanB9bRQURJNTWrNytUas9PB2U8NR6lzv78l5Q1qpiKyYRemMIPp9mA3Shx8qyas13fsHrsGs6L/Zv9V3TvnHmqc3MaY0ugHmaDTB3rfDTMAQcKZDQPZBm2sO4OdVO/1Qio+BkEenUz+Gc8iX/Do4MF6o= Content-Type: text/plain; charset="utf-8" Content-ID: <4E2C38A4CCA7E04CBF6259A7D9222A4F@eurprd05.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: abaecb1f-15c2-4e04-44dd-08d6c9bd95fc X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Apr 2019 20:35:41.9662 (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-Transport-CrossTenantHeadersStamped: DB8PR05MB6250 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org T24gV2VkLCAyMDE5LTA0LTI0IGF0IDEzOjUzICswODAwLCBGaXJvIHdyb3RlOg0KPiANCj4gT24g NC8yMC8xOSA2OjMxIEFNLCBTYWVlZCBNYWhhbWVlZCB3cm90ZToNCj4gPiBPbiBGcmksIDIwMTkt MDQtMTkgYXQgMjE6MDcgKzA4MDAsIEZpcm8gd3JvdGU6DQo+ID4gPiBPbiA0LzE5LzE5IDI6MTcg QU0sIFNhZWVkIE1haGFtZWVkIHdyb3RlOg0KPiA+ID4gPiBPbiBUaHUsIDIwMTktMDQtMTggYXQg MTU6MDUgKzA4MDAsIEZpcm8gd3JvdGU6DQo+ID4gPiA+ID4gT24gNC8yLzE5IDEyOjI1IEFNLCBT YWVlZCBNYWhhbWVlZCB3cm90ZToNCj4gPiA+ID4gPiA+IE9uIE1vbiwgMjAxOS0wNC0wMSBhdCAy MDoyNCArMDgwMCwgRmlybyBZYW5nIHdyb3RlOg0KPiA+ID4gPiA+ID4gPiBUaGlzIGNyYXNoIGlz IHRyaWdnZXJlZCBieSBhIHVzZXItYWZ0ZXItZnJlZSBzaW5jZSBsYWtlDQo+ID4gPiA+ID4gPiA+ IG9mDQo+ID4gPiA+ID4gPiA+IHRoZSBzeW5jaHJvbml6YXRpb24gb2YgYSByYWNlIGNvbmRpdGlv biBiZXR3ZWVuICAgDQo+ID4gPiA+ID4gPiA+IGJlX3VwZGF0ZV9xdWV1ZXMoKSBtb2RpZnlpbmcg bXVsdGktcHVycG9zZSBjaGFubmVscyBvZg0KPiA+ID4gPiA+ID4gPiBuZXR3b3JrIGRldmljZSBh bmQgYmVfdHhfdGltZW91dCgpLg0KPiA+ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+ID4gQlVHOiB1 bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgYXQNCj4gPiA+ ID4gPiA+ID4gKG51bGwpDQo+ID4gPiA+ID4gPiA+IENhbGwgVHJhY2U6DQo+ID4gPiA+ID4gPiA+ IGJlX3R4X3RpbWVvdXQrMHhhNS8weDM2MCBbYmUybmV0XQ0KPiA+ID4gPiA+ID4gPiBkZXZfd2F0 Y2hkb2crMHgxZDgvMHgyMTANCj4gPiA+ID4gPiA+ID4gY2FsbF90aW1lcl9mbisweDMyLzB4MTQw DQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBUbyBmaXggaXQsIGRldGFjaCB0aGUgaW50 ZXJmYWNlIGJlZm9yZSBtb2RpZnlpbmcNCj4gPiA+ID4gPiA+ID4gbXVsdGktcHVycG9zZSBjaGFu bmVscyBvZiBuZXR3b3JrIGRldmljZS4NCj4gPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+IFNp Z25lZC1vZmYtYnk6IEZpcm8gWWFuZyA8ZnlhbmdAc3VzZS5jb20+DQo+ID4gPiA+ID4gPiA+IC0t LQ0KPiA+ID4gPiA+ID4gPiAgZHJpdmVycy9uZXQvZXRoZXJuZXQvZW11bGV4L2JlbmV0L2JlX21h aW4uYyB8IDEyDQo+ID4gPiA+ID4gPiA+ICsrKysrKysrLS0tDQo+ID4gPiA+ID4gPiA+IC0NCj4g PiA+ID4gPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25z KC0pDQo+ID4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvZXRoZXJuZXQvZW11bGV4L2JlbmV0L2JlX21haW4uYw0KPiA+ID4gPiA+ID4gPiBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L2VtdWxleC9iZW5ldC9iZV9tYWluLmMNCj4gPiA+ID4gPiA+ID4gaW5k ZXggZDUwMjY5MDlkZWM1Li4yNWQwMTI4YmY2ODQgMTAwNjQ0DQo+ID4gPiA+ID4gPiA+IC0tLSBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L2VtdWxleC9iZW5ldC9iZV9tYWluLmMNCj4gPiA+ID4gPiA+ ID4gKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvZW11bGV4L2JlbmV0L2JlX21haW4uYw0KPiA+ ID4gPiA+ID4gPiBAQCAtNDcwNSw2ICs0NzA1LDggQEAgaW50IGJlX3VwZGF0ZV9xdWV1ZXMoc3Ry dWN0DQo+ID4gPiA+ID4gPiA+IGJlX2FkYXB0ZXINCj4gPiA+ID4gPiA+ID4gKmFkYXB0ZXIpDQo+ ID4gPiA+ID4gPiA+ICAJc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldiA9IGFkYXB0ZXItPm5ldGRl djsNCj4gPiA+ID4gPiA+ID4gIAlpbnQgc3RhdHVzOw0KPiA+ID4gPiA+ID4gPiAgICANCj4gPiA+ ID4gPiA+ID4gKwluZXRpZl9kZXZpY2VfZGV0YWNoKG5ldGRldik7DQo+ID4gPiA+ID4gPiA+ICsN Cj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gVGhpcyB3aWxsIHJlZHVjZSB0aGUgcHJvYmFiaWxp dHksIGJ1dCB3aWxsIG5vdCBkbyB0aGUNCj4gPiA+ID4gPiA+IHRyaWNrLg0KPiA+ID4gPiA+ID4g c2luY2UgdGhpcyB3aWxsIG5vdCBndWFyYW50ZWUgdGhhdCB0aGUgZGV2X3dhdGNoZG9nIGlzDQo+ ID4gPiA+ID4gPiBkaXNhYmxlZC4NCj4gPiA+ID4gPiBIaSBTYWVlZCwNCj4gPiA+ID4gPiANCj4g PiA+ID4gPiBXaGF0IGFib3V0IHVzaW5nIGRldl93YXRjaGRvZ19kb3duL3VwKCkgdG8gdGVtcG9y YXJpbHkNCj4gPiA+ID4gPiBkaXNhYmxlDQo+ID4gPiA+ID4gdGhlDQo+ID4gPiA+ID4gZGV2X3dh dGNoZG9nPw0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L2VtdWxleC9iZW5ldC9iZV9tYWluLmMNCj4gPiA+ID4gPiBAQCAtNDY5Nyw2ICs0Njk3LDggQEAg aW50IGJlX3VwZGF0ZV9xdWV1ZXMoc3RydWN0IGJlX2FkYXB0ZXINCj4gPiA+ID4gPiAqYWRhcHRl cikNCj4gPiA+ID4gPiAgICAgICAgIHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYgPSBhZGFwdGVy LT5uZXRkZXY7DQo+ID4gPiA+ID4gICAgICAgICBpbnQgc3RhdHVzOw0KPiA+ID4gPiA+IA0KPiA+ ID4gPiA+ICsgICAgICAgZGV2X3dhdGNoZG9nX2Rvd24oKTsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ ICAgDQo+ID4gPiA+IHRoZXJlIGlzIG5vIHN1Y2ggQVBJLCBjdXJyZW50bHkgdGhpcyBpcyBhIHN0 YXRpYyBmdW5jdGlvbiwgYW5kDQo+ID4gPiA+IGkNCj4gPiA+ID4gZG9uJ3QNCj4gPiA+ID4gdGhp bmsgaXQgaXMgYSBnb29kIGlkZWEgdG8gbWVzcyBhcm91bmQgd2l0aCB0aGUgd2F0Y2hkb2cuDQo+ ID4gPiA+ICAgDQo+ID4gPiA+IElmIHlvdSB3YW50IHRvIGF2b2lkIGRlZmVycmVkIHdvcmsgYW5k IGV4cGxpY2l0IGxvY2tpbmcsIHlvdQ0KPiA+ID4gPiBuZWVkDQo+ID4gPiA+IHNvbWV0aGluZyBz aW1pbGFyIHRvIHdoYXQgeW91IGRpZCB3aXRoIHRoZSBkZXZpY2VfZGV0YWNoIHRvDQo+ID4gPiA+ IGZsYWcgdG8NCj4gPiA+ID4gdGhlDQo+ID4gPiA+IHdhdGNoZG9nIHRvIG5vdCBsb29rIGF0IHlv dXIgdHggcXVldWVzLg0KPiA+ID4gPiAgIA0KPiA+ID4gPiBieSBsb29raW5nIGF0IGJlX2Nsb3Nl KCkgSSBzZWUgdGhhdCBpdCBjYWxscw0KPiA+ID4gPiBuZXRpZl90eF9kaXNhYmxlKG5ldGRldik7 DQo+ID4gPiA+IHdoaWNoIHByb3ZpZGVzIHNvbWUga2luZCBvZiBzdGF0ZSBzeW5jaHJvbml6YXRp b24gd2l0aCB0aGUNCj4gPiA+ID4gd2F0Y2hkb2cuDQo+ID4gPiA+ICAgDQo+ID4gPiA+IHNvIG1h eWJlIG5ldGlmX2RldmljZV9kZXRhY2goKSB3aWxsIHdvcmssIGJ1dCBpdCBpcyBhIHZlcnkNCj4g PiA+ID4gaGVhdnkNCj4gPiA+ID4gZ3VuIQ0KPiA+ID4gDQo+ID4gPiBTb3JyeSwgSSBjYW5ub3Qg ZnVsbHkgdW5kZXJzdGFuZCB3aHkgeW91IHRoaW5rDQo+ID4gPiBuZXRpZl9kZXZpY2VfZGV0YWNo KCkNCj4gPiA+IGlzDQo+ID4gPiB2ZXJ5IGhlYXZ5LiBFeGNlcHQgY2xlYXJpbmcgX19MSU5LX1NU QVRFX1BSRVNFTlQsDQo+ID4gPiBuZXRpZl9kZXZpY2VfZGV0YWNoKCkNCj4gPiA+IGFsbW9zdCBk b2VzIHRoZSBzYW1lIHRoaW5nIGFzICBuZXRpZl90eF9kaXNhYmxlKCk7IGNvdWxkIHlvdQ0KPiA+ ID4gcGxlYXNlDQo+ID4gPiBkZXRhaWwgeW91ciB0aG91Z2h0Pw0KPiA+ID4gDQo+ID4gDQo+ID4g Y2FsbGluZyAgb24gaXRzIG93biBpcyBub3QgZW5vdWdoIHRvIG1ha2UgdGhlDQo+ID4gd2F0Y2hk b2cNCj4gPiBiYWNrLW9mZiwgeW91IG5lZWQgdGhlIGV4dHJhIGZsYWcgZnJvbSBjYXJyaWVyX29m ZiBvcg0KPiA+IGRldGFjaF9kZXZpY2UuDQo+IEkgdGhpbmsgeW91ciBmaXJzdCBjb21tZW50IGlz IHJpZ2h0LiBMb2NraW5nIG1lY2hhbmlzbSBpcyBuZWNlc3NhcnkNCj4gaGVyZS4gQ29uc2lkZXIg dGhlIGZvbGxvd2luZyBzaXR1YXRpb24uIEluICgpLCBkdWUgdG8NCj4gc29tZQ0KPiByZWFzb25z WzFdLCBuZXRpZl94bWl0X3N0b3BwZWQodHhxKSAmJiB0aW1lX2FmdGVyKGppZmZpZXMsDQo+ICh0 cmFuc19zdGFydA0KPiArIGRldi0+d2F0Y2hkb2dfdGltZW8pKSBpcyB0cnVlOyBhbmQgZGV2X3dh dGNoZG9nKCkgdGVzdHMgdGhlDQo+IG91dGVybW9zdA0KPiBpZi1zdGF0ZW1lbnRbMl0ganVzdCBi ZWZvcmUgYmVfdXBkYXRlX3F1ZXVlcygpIGV4ZWN1dGVzIGNhcnJpZXJfb2ZmDQo+IG9yDQo+IGRl dGFjaF9kZXZpY2U7IHRoZW4gZGV2X3dhdGNoZG9nKCkgd2lsbCBiZSBwb3NzaWJsZSB0byBoaXQg YSBrZXJuZWwNCj4gb29wcy4NCj4gDQo+IFsxXTogRm9yIGV4YW1wbGUsIGEgcmVhbCBwcm9ibGVt IGNhdXNlcyB0aGF0IE5JQyBzdG9wcGVkIGFuZCB0aW1lZA0KPiBvdXQuDQo+IFsyXTogaWYgKCFx ZGlzY190eF9pc19ub29wKGRldikpIHsNCj4gICAgICAgICAgICAgICAgIGlmIChuZXRpZl9kZXZp Y2VfcHJlc2VudChkZXYpICYmDQo+ICAgICAgICAgICAgICAgICAgICAgbmV0aWZfcnVubmluZyhk ZXYpICYmDQo+ICAgICAgICAgICAgICAgICAgICAgbmV0aWZfY2Fycmllcl9vayhkZXYpKQ0KDQpZ ZXMgaW50ZXJuYWwgc3luY2hyb25pemF0aW9uIGluIHRoZSBiZTJuZXQgZHJpdmVyIGlzIHRoZSBi ZXN0IHdheSB0byBnbw0KZm9yIG5vdywgDQoNCmFzIHlvdSBhbHJlYWR5IHN1Z2dlc3RlZCB3ZSBh ZGQgbmV3IEFQSSBvciBqdXN0IGRpc2FibGUgd2F0Y2hkb2cgb24NCm5ldGlmX3R4X2Rpc2FibGUo bmV0ZGV2KTsgd2hpY2ggaXMgYWxtb3N0IGNhbGxlZCBieSBldmVyeSBkcml2ZXIuDQpidXQgd2Ug ZG9uJ3QgaGF2ZSBuZXRpZl90eF9lbmFibGUoKSBlcXVpdmFsZW50LCBhbmQgZWFjaCBkcml2ZXIg aXMNCmRvaW5nIHNvbWV0aGluZyBlbHNlIHRvIHJlc3RhcnQgdHggcXVldWVzLCBzbyBpdCBpcyBu b3QgZ29pbmcgdG8gYmUgYW4NCmVhc3kgdGFzaw0KDQoNCj4gPiAxKSB0aGUgZG9jdW1lbnRhdGlv biBvZiBuZXRpZl9kZXZpY2VfZGV0YWNoIHNheXMgDQo+ID4gIk1hcmsgZGV2aWNlIGFzIHJlbW92 ZWQgZnJvbSBzeXN0ZW0gYW5kIHRoZXJlZm9yZSBubyBsb25nZXINCj4gPiBhdmFpbGFibGUuIg0K PiA+IHdoaWNoIGlzIG5vdCB0cnVlIGluIHlvdXIgY2FzZS4NCj4gSW5kZWVkLg0KPiA+IDIpIG5l dGlmX2RldmljZV9wcmVzZW50KGRldikgY2hlY2sgaXMgdXNlZCB2ZXJ5IHdpZGVseSBpbiBuZXRk ZXYNCj4gPiBjb250cm9sIHBhdGhzLCBzbyBpZiB5b3UgZGV0YWNoIHRoZSBkZXZpY2Ugd2hpbGUg ZG9pbmcgb25lIGNvbmZpZw0KPiA+IHlvdQ0KPiA+IHdpbGwgbG9vc2UgYWxsIG90aGVyIGNvbmZp Z3MgYW5kIHRoZXkgd291bGQgd3JvbmdmdWxseSByZXR1cm4NCj4gPiAtRU5PREVWOw0KPiBJIHdl bnQgdGhyb3VnaCBhIGZldyAqaW9jdGwgYW5kIG5ldGxpbmsgY29kZTsgaXQgc2VlbXMgdGhhdCB0 aGV5IGFsbA0KPiB1bmRlciB0aGUgcHJvdGVjdGlvbiBvZiBSVE5MIGxvY2sgYW5kIHdvbid0IGJl IGFibGUgdG8gcmV0dXJuDQo+IC1FTk9ERVYuDQo+IA0KPiA+IGNhbGxpbmcgY2Fycmllcl9vZmYg d2lsbCBtYWtlIHRoZSB3YXRjaC1kb2cgYmFjayBvZmYgYnV0IHN0aWxsDQo+ID4gYWxsb3cNCj4g PiBvdGhlciBjb25maWd1cmF0aW9ucy4NCj4gPiANCj4gPiB0aGUgY2FycmllciBpcyB1c2VkIHRv IG1hcmsgdGhhdCB0aGUgZGV2aWNlIGlzIG5vdCBhdmFpbGFibGUgZm9yDQo+ID4gdHgsDQo+ID4g d2hpY2ggaXMgZXhhY3RseSB5b3VyIGNhc2Ugc2luY2UgeW91IGFyZSByZXNldHRpbmcgdGhlIHJp bmdzLCBidXQNCj4gPiBzdGlsbA0KPiA+IGF2YWlsYWJsZSBmb3IgYW55dGhpbmcgZWxzZS4NCj4g PiANCj4gPiBsb29raW5nIGF0IG90aGVyIGRyaXZlcnMsIGkgY291bGRuJ3QgZmluZCBhbnlvbmUg dXNpbmcgdGhlDQo+ID4gZGV0YWNoX2RldmljZSBhcHByb2FjaCB0byBkaXNhYmxlIHRoZSB3YXRj aGRvZyB3aGlsZSByZXNldHRpbmcgdGhlDQo+ID4gcmluZ3MsIGJ1dCBhbG1vc3QgbW9zdCBvZiB0 aGUgZHJpdmVycyBhcmUgZG9pbmcgdGhlIGNhcnJpZXJfb2ZmLg0KPiA+IA0KPiA+ID4gPiBuZXRp Zl9jYXJyaWVyX29mZihuZXRkZXYpIHNob3VsZCBkbyB0aGUgd29yaywgYW5kIGF0IHRoZSBlbmQN Cj4gPiA+ID4geW91DQo+ID4gPiA+IHdpbGwNCj4gPiA+ID4gbmVlZCB0byByZXN0b3JlIHRoZSBv cmlnaW5hbCBjYXJyaWVyIHN0YXRlLg0KPiA+ID4gDQo+ID4gPiBuZXRpZl9jYXJyaWVyX29mZigp IG1pZ2h0IHRyaWdnZXIgYSBsaW5rd2F0Y2ggZXZlbnQuIEZyb20gdGhpcw0KPiA+ID4gcG9pbnQN Cj4gPiA+IG9mDQo+ID4gPiB2aWV3LCBtYXliZSBuZXRpZl9kZXZpY2VfZGV0YWNoKCkgaXMgYmV0 dGVyLg0KPiA+ID4gDQo+ID4gDQo+ID4gQ29kZS13aXNlIHllcyBuZXRpZl9kZXZpY2VfZGV0YWNo IGlzIGJldHRlciwgYnV0IHRoZSBpbXBsaWNhdGlvbnMNCj4gPiBjYW4NCj4gPiBiZSB3b3JzZSwg YXMgZXhwbGFpbmVkIGFib3ZlLg0KPiA+IA0KPiA+IE15IDIgY2VudCBpcyB0byBjb3B5IHRoZSBh cHByb2FjaCB1c2VkIGJ5IG1vc3QgZHJpdmVycywgYW5kIGp1c3QNCj4gPiB1c2UNCj4gPiBuZXRp Zl9jYXJyaWVyX29mZigpLCBhbmQgbWF5YmUgaW4gdGhlIGZ1dHVyZSB3ZSB3aWxsIGludHJvZHVj ZSBhDQo+ID4gbW9yZQ0KPiA+IHJlbGF4ZWQgdmVyc2lvbiBvZiBjYXJyaWVyIG9mZiB0byBzaHV0 LXVwIHRoZSB3YXRjaGRvZywgYW5kIGZpeCBhbGwNCj4gPiBkcml2ZXJzIGF0IG9uY2UgOikuPg0K PiA+IEkgd2lsbCBsZWF2ZSB0aGUgZGVjaXNpb24gdG8geW91IGFuZCB0byB0aGlzIGRyaXZlciBt YWludGFpbmVycy4NCj4gPiANCj4gPiBUaGFua3MgZm9yIGZvbGxvd2luZyB1cCBvbiBteSBjb21t ZW50cy4NCj4gVGhhbmsgeW91IGZvciBzdWNoIGRldGFpbGVkIGV4cGxhbmF0aW9uIQ0KPiAvLyBG aXJvDQo+IA0KPiA+ID4gVGhhbmtzLA0KPiA+ID4gRmlybw0KPiA+ID4gDQo+ID4gPiA+ICAgDQo+ ID4gPiA+IGNhcnJpZXJfb2sgPSBuZXRpZl9jYXJyaWVyX29rKG5ldGRldik7DQo+ID4gPiA+IC8q IG11c3QgYmUgY2FsbGVkIGJlZm9yZSBuZXRpZl90eF9kaXNhYmxlKCkgKi8NCj4gPiA+ID4gbmV0 aWZfY2Fycmllcl9vZmYobmV0ZGV2KTsgICANCj4gPiA+ID4gICANCj4gPiA+ID4gLy8gZG8gc3R1 ZmYNCj4gPiA+ID4gICANCj4gPiA+ID4gaWYgKGNhcnJpZXJfb2spDQo+ID4gPiA+IAluZXRpZl9j YXJyaWVyX29uKG5ldGRldik7DQo+ID4gPiA+ICAgDQo+ID4gPiA+ID4gICAgICAgICBpZiAobmV0 aWZfcnVubmluZyhuZXRkZXYpKQ0KPiA+ID4gPiA+ICAgICAgICAgICAgICAgICBiZV9jbG9zZShu ZXRkZXYpOw0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IEBAIC00NzExLDIxICs0NzEzLDIxIEBAIGlu dCBiZV91cGRhdGVfcXVldWVzKHN0cnVjdA0KPiA+ID4gPiA+IGJlX2FkYXB0ZXINCj4gPiA+ID4g PiAqYWRhcHRlcikNCj4gPiA+ID4gPiAgICAgICAgIGJlX2NsZWFyX3F1ZXVlcyhhZGFwdGVyKTsN Cj4gPiA+ID4gPiAgICAgICAgIHN0YXR1cyA9IGJlX2NtZF9pZl9kZXN0cm95KGFkYXB0ZXIsIGFk YXB0ZXItDQo+ID4gPiA+ID4gPiBpZl9oYW5kbGUsICAwKTsNCj4gPiA+ID4gPiAgICAgICAgIGlm IChzdGF0dXMpDQo+ID4gPiA+ID4gLSAgICAgICAgICAgICAgIHJldHVybiBzdGF0dXM7DQo+ID4g PiA+ID4gKyAgICAgICAgICAgICAgIGdvdG8gb3V0Ow0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+ICAg ICAgICAgaWYgKCFtc2l4X2VuYWJsZWQoYWRhcHRlcikpIHsNCj4gPiA+ID4gPiAgICAgICAgICAg ICAgICAgc3RhdHVzID0gYmVfbXNpeF9lbmFibGUoYWRhcHRlcik7DQo+ID4gPiA+ID4gICAgICAg ICAgICAgICAgIGlmIChzdGF0dXMpDQo+ID4gPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAg cmV0dXJuIHN0YXR1czsNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG91 dDsNCj4gPiA+ID4gPiAgICAgICAgIH0NCj4gPiA+ID4gPiANCj4gPiA+ID4gPiAgICAgICAgIHN0 YXR1cyA9IGJlX2lmX2NyZWF0ZShhZGFwdGVyKTsNCj4gPiA+ID4gPiAgICAgICAgIGlmIChzdGF0 dXMpDQo+ID4gPiA+ID4gLSAgICAgICAgICAgICAgIHJldHVybiBzdGF0dXM7DQo+ID4gPiA+ID4g KyAgICAgICAgICAgICAgIGdvdG8gb3V0Ow0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+ICAgICAgICAg c3RhdHVzID0gYmVfc2V0dXBfcXVldWVzKGFkYXB0ZXIpOw0KPiA+ID4gPiA+ICAgICAgICAgaWYg KHN0YXR1cykNCj4gPiA+ID4gPiAtICAgICAgICAgICAgICAgcmV0dXJuIHN0YXR1czsNCj4gPiA+ ID4gPiArICAgICAgICAgICAgICAgZ290byBvdXQ7DQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gICAg ICAgICBiZV9zY2hlZHVsZV93b3JrZXIoYWRhcHRlcik7DQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4g QEAgLTQ3NDEsNiArNDc0Myw5IEBAIGludCBiZV91cGRhdGVfcXVldWVzKHN0cnVjdCBiZV9hZGFw dGVyDQo+ID4gPiA+ID4gKmFkYXB0ZXIpDQo+ID4gPiA+ID4gICAgICAgICBpZiAobmV0aWZfcnVu bmluZyhuZXRkZXYpKQ0KPiA+ID4gPiA+ICAgICAgICAgICAgICAgICBzdGF0dXMgPSBiZV9vcGVu KG5ldGRldik7DQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gK291dDoNCj4gPiA+ID4gPiArICAgICAg IGRldl93YXRjaGRvZ191cCgpOw0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IFRoYW5rcywNCj4gPiA+ ID4gPiBGaXJvDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiB3aGF0IHlvdSBuZWVkIGlzIHByb3Bl ciBsb2NraW5nIG1lY2hhbmlzbSBhbmQvb3Igc2NoZWR1bGluZw0KPiA+ID4gPiA+ID4gdGhlDQo+ ID4gPiA+ID4gPiB0eF90aW1lb3V0IGhhbmRsaW5nIG91dCBvZiBhdG9taWMgY29udGV4dCBpZiBh IG11dGV4IHdpbGwNCj4gPiA+ID4gPiA+IGJlDQo+ID4gPiA+ID4gPiByZXF1aXJlZC4NCj4gPiA+ ID4gPiA+IA0KPiA+ID4gPiA+ID4gbmV0aWZfZGV2aWNlX2RldGFjaCBpcyBhIHRvbyBoZWF2eSBo YW1tZXIgZm9yIHN1Y2gNCj4gPiA+ID4gPiA+IHN5bmNocm9uaXphdGlvbnMNCj4gPiA+ID4gPiA+ IHRhc2tzLg0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiA+ICAJaWYgKG5ldGlmX3J1bm5pbmco bmV0ZGV2KSkNCj4gPiA+ID4gPiA+ID4gIAkJYmVfY2xvc2UobmV0ZGV2KTsNCj4gPiA+ID4gPiA+ ID4gICAgDQo+ID4gPiA+ID4gPiA+IEBAIC00NzE5LDIxICs0NzIxLDIxIEBAIGludCBiZV91cGRh dGVfcXVldWVzKHN0cnVjdA0KPiA+ID4gPiA+ID4gPiBiZV9hZGFwdGVyDQo+ID4gPiA+ID4gPiA+ ICphZGFwdGVyKQ0KPiA+ID4gPiA+ID4gPiAgCWJlX2NsZWFyX3F1ZXVlcyhhZGFwdGVyKTsNCj4g PiA+ID4gPiA+ID4gIAlzdGF0dXMgPSBiZV9jbWRfaWZfZGVzdHJveShhZGFwdGVyLCBhZGFwdGVy LQ0KPiA+ID4gPiA+ID4gPiA+IGlmX2hhbmRsZSwgIDApOw0KPiA+ID4gPiA+ID4gPiAgCWlmIChz dGF0dXMpDQo+ID4gPiA+ID4gPiA+IC0JCXJldHVybiBzdGF0dXM7DQo+ID4gPiA+ID4gPiA+ICsJ CWdvdG8gb3V0Ow0KPiA+ID4gPiA+ID4gPiAgICANCj4gPiA+ID4gPiA+ID4gIAlpZiAoIW1zaXhf ZW5hYmxlZChhZGFwdGVyKSkgew0KPiA+ID4gPiA+ID4gPiAgCQlzdGF0dXMgPSBiZV9tc2l4X2Vu YWJsZShhZGFwdGVyKTsNCj4gPiA+ID4gPiA+ID4gIAkJaWYgKHN0YXR1cykNCj4gPiA+ID4gPiA+ ID4gLQkJCXJldHVybiBzdGF0dXM7DQo+ID4gPiA+ID4gPiA+ICsJCQlnb3RvIG91dDsNCj4gPiA+ ID4gPiA+ID4gIAl9DQo+ID4gPiA+ID4gPiA+ICAgIA0KPiA+ID4gPiA+ID4gPiAgCXN0YXR1cyA9 IGJlX2lmX2NyZWF0ZShhZGFwdGVyKTsNCj4gPiA+ID4gPiA+ID4gIAlpZiAoc3RhdHVzKQ0KPiA+ ID4gPiA+ID4gPiAtCQlyZXR1cm4gc3RhdHVzOw0KPiA+ID4gPiA+ID4gPiArCQlnb3RvIG91dDsN Cj4gPiA+ID4gPiA+ID4gICAgDQo+ID4gPiA+ID4gPiA+ICAJc3RhdHVzID0gYmVfc2V0dXBfcXVl dWVzKGFkYXB0ZXIpOw0KPiA+ID4gPiA+ID4gPiAgCWlmIChzdGF0dXMpDQo+ID4gPiA+ID4gPiA+ IC0JCXJldHVybiBzdGF0dXM7DQo+ID4gPiA+ID4gPiA+ICsJCWdvdG8gb3V0Ow0KPiA+ID4gPiA+ ID4gPiAgICANCj4gPiA+ID4gPiA+ID4gIAliZV9zY2hlZHVsZV93b3JrZXIoYWRhcHRlcik7DQo+ ID4gPiA+ID4gPiA+ICAgIA0KPiA+ID4gPiA+ID4gPiBAQCAtNDc0OCw2ICs0NzUwLDggQEAgaW50 IGJlX3VwZGF0ZV9xdWV1ZXMoc3RydWN0DQo+ID4gPiA+ID4gPiA+IGJlX2FkYXB0ZXINCj4gPiA+ ID4gPiA+ID4gKmFkYXB0ZXIpDQo+ID4gPiA+ID4gPiA+ICAJaWYgKG5ldGlmX3J1bm5pbmcobmV0 ZGV2KSkNCj4gPiA+ID4gPiA+ID4gIAkJc3RhdHVzID0gYmVfb3BlbihuZXRkZXYpOw0KPiA+ID4g PiA+ID4gPiAgICANCj4gPiA+ID4gPiA+ID4gK291dDoNCj4gPiA+ID4gPiA+ID4gKwluZXRpZl9k ZXZpY2VfYXR0YWNoKG5ldGRldik7DQo+ID4gPiA+ID4gPiA+ICAJcmV0dXJuIHN0YXR1czsNCj4g PiA+ID4gPiA+ID4gIH0NCj4gPiA+ID4gPiA+ID4gICAgDQo=