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 075B1C282C3 for ; Thu, 24 Jan 2019 07:39:20 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id AED12218A2 for ; Thu, 24 Jan 2019 07:39:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="uLUNzeGF" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726046AbfAXHjS (ORCPT ); Thu, 24 Jan 2019 02:39:18 -0500 Received: from mail-eopbgr130089.outbound.protection.outlook.com ([40.107.13.89]:11932 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725931AbfAXHjS (ORCPT ); Thu, 24 Jan 2019 02:39:18 -0500 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=uPxgo6QCnj0S1IaQ4WYx1jniXE1Cug/En7z379TcLUg=; b=uLUNzeGFHHvx9+dEoUEk/HuEeY+MAZr0MsHffAGfHTOCu7fP5RfdzGRwgmhp45V6ChHzFAWGKcI/LNK4tmHJzvgdJEKjsU7EUPhZ+LnoY+ey2/lordvVtfIQlxxCTxqqCZEJI/nkYEtYRIVJEcZIwpUhXfnmLHVkoVKgb/+J1DM= Received: from AM0PR0502MB4068.eurprd05.prod.outlook.com (52.133.41.24) by AM0PR0502MB3636.eurprd05.prod.outlook.com (52.133.46.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1558.16; Thu, 24 Jan 2019 07:39:12 +0000 Received: from AM0PR0502MB4068.eurprd05.prod.outlook.com ([fe80::c5a8:ab5d:6acb:408d]) by AM0PR0502MB4068.eurprd05.prod.outlook.com ([fe80::c5a8:ab5d:6acb:408d%4]) with mapi id 15.20.1558.016; Thu, 24 Jan 2019 07:39:12 +0000 From: Eran Ben Elisha To: Jiri Pirko CC: "netdev@vger.kernel.org" , Jiri Pirko , "David S. Miller" , Saeed Mahameed , Moshe Shemesh Subject: Re: [PATCH net-next 2/7] net/mlx5e: Move driver to use devlink msg API Thread-Topic: [PATCH net-next 2/7] net/mlx5e: Move driver to use devlink msg API Thread-Index: AQHUsmtHBph1fBHpikyFGu6nWt3qtKW87g4AgAEc4gA= Date: Thu, 24 Jan 2019 07:39:12 +0000 Message-ID: References: <1548172644-30862-1-git-send-email-eranbe@mellanox.com> <1548172644-30862-3-git-send-email-eranbe@mellanox.com> <20190123143930.GH2191@nanopsycho> In-Reply-To: <20190123143930.GH2191@nanopsycho> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM6P191CA0045.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:7f::22) To AM0PR0502MB4068.eurprd05.prod.outlook.com (2603:10a6:208:12::24) authentication-results: spf=none (sender IP is ) smtp.mailfrom=eranbe@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;AM0PR0502MB3636;6:Uq82Adr1YEsaCSp+/1d7Ril657AMhumUZ0epMp4S1wezH3+iRzZDZygzZYjN9Ess3TAARyNz0cjzffscjX2PeAgzsIQVSlh6VGKGP5n4rhlkpMvo6hZ4VbunYW6leTGFc1Py06jD7vTguVfpRcnOrVaRd8FL8R+oNCqdtA5LaE+BPUORPvRTjNNKCo3bSJ32lyxvizO6z0xQuaeTLBGgpt/4e56/PwegThT3OH7ORHsEp8yVAoRFynm4YGq5dFOJH2jQE5ZUHlzuuDNPh7nXIF9KI/rcot6rtwInUTssj0eIxE91QzL1FKMV+pRRcNVvNreKkJMvtpVh7DynOhx94T1W30KjeG2Vt5cuPPPdLdAqFGcLaw2++coNOaS149cKw3nnBJRz9YsUT2HeSkjtkTsrYAuMY8OG0zdfI79faRk1yZHORJ1HJwRBkOc0cLG+zcLPU9y6/tSCWod5B/9gKg==;5:T++u0GU8XNY7yOg8gN4PrVbfkIWy8FDQW2JF8JxjyTUAIYjDBPuL2aastfQWbj7dUTDRTs3cul18QFhhsJH4J/ioSfbL3qNpVOKZ/jZFdcINRUUFJpZWu92B4tXM7nutl/fDjJUJ4GdcxcqdxsDzAYUZLbBChfLjxRrDwF0IyWOm0QEQXH9bPloLLZ7oGU6Gt7i234doL0IP4FnuJF+I4Q==;7:Fj8qlFISK5kuXv9hMN6DDjEHwQ7qzkGqKjBNBHglkMZAvOX1lx/IXTD9IjnzgpVcqqwU3i7HK7n0HjYzK2+jegydb/olgJS1RLQI0mVc3BDF4qXCTd3TQU4pBv3DO62xl7sIoQI1fKwDWjvK+97hyQ== x-ms-office365-filtering-correlation-id: 4d167633-e330-45bf-bc58-08d681cf08b5 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4618075)(2017052603328)(7153060)(7193020);SRVR:AM0PR0502MB3636; x-ms-traffictypediagnostic: AM0PR0502MB3636: x-microsoft-antispam-prvs: x-forefront-prvs: 0927AA37C7 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(376002)(396003)(136003)(346002)(366004)(39860400002)(199004)(189003)(2616005)(106356001)(476003)(446003)(52116002)(105586002)(31696002)(6486002)(7736002)(305945005)(6436002)(486006)(2906002)(81166006)(81156014)(8676002)(6506007)(102836004)(31686004)(14454004)(186003)(53546011)(66066001)(26005)(97736004)(76176011)(11346002)(6916009)(386003)(36756003)(6116002)(3846002)(316002)(256004)(86362001)(6246003)(68736007)(478600001)(8936002)(99286004)(6512007)(53936002)(54906003)(107886003)(4326008)(25786009)(229853002)(71200400001)(71190400001)(14444005);DIR:OUT;SFP:1101;SCL:1;SRVR:AM0PR0502MB3636;H:AM0PR0502MB4068.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-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 8uFih21ZPnjI5MhV2mx0hTki5V6rFwjBEYwF/G8kdzpeSIgRmubXkgciW6vU1VTEK8vUzDBBachOlqGah6FwAPLHtdhDga8dqvE+gZu5Of5hbUGJJtQzdzBbn4lUWXn16vApdAR2vVA1CFpjH/dueC6wWWJdAmLDDdSJn+ifk01Lf01IAvxPMgwvpsyfE2IUY2Ql0AjI327fLF3eB/3qimixE+l5OAQ9vAOy6MCT/Rk4wqpJN47pCADyH6HsVMnPTKc5q6iU1lSgohbRk32nOPaPowNRLHEWVKmI2yNNz/PC1amaOQ32u3rfHDch6dq/oJBykLXFmJ5RdYzIkRk/DC2QGzx4Pd4cy2/2k+U+ONrkXAlU2ZVRllRZ2MfTqc5VHBgai3v6Ln7YHdoyhCvv+AhEwETN0WtCrooab7lNbUQ= Content-Type: text/plain; charset="utf-8" Content-ID: <8B3B2F3F6810194AB2E4A88DBF47917A@eurprd05.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4d167633-e330-45bf-bc58-08d681cf08b5 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jan 2019 07:39:11.8291 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3636 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org DQoNCk9uIDEvMjMvMjAxOSA0OjM5IFBNLCBKaXJpIFBpcmtvIHdyb3RlOg0KPiBUdWUsIEphbiAy MiwgMjAxOSBhdCAwNDo1NzoxOVBNIENFVCwgZXJhbmJlQG1lbGxhbm94LmNvbSB3cm90ZToNCj4+ IEFzIHBhcnQgb2YgdGhlIGRldmxpbmsgaGVhbHRoIHJlcG9ydGVyIGRpYWdub3NlIG9wcyBjYWxs YmFjaywgdGhlIG1seDVlIFRYDQo+PiByZXBvcnRlciB1c2VkIGRldmxpbmsgaGVhbHRoIGJ1ZmZl cnMgQVBJLiBXaGljaCB3aWxsIHNvb24gYmUgZGVwcmFjYXRlZC4NCj4+IE1vZGlmeSB0aGUgcmVw b3J0ZXIgdG8gdXNlIHRoZSBuZXcgZGV2bGluayBtc2cgQVBJLg0KPj4NCj4+IFRoZSBhY3R1YWwg c2V0IG9mIHRoZSBuZXcgZGlhZ25vc2UgZnVuY3Rpb24gd2lsbCBiZSBkb25lIGxhdGVyIGluIHRo ZQ0KPj4gZG93bnN0cmVhbSBwYXRjaCwgb25seSB3aGVuIGRldmxpbmsgd2lsbCBhY3R1YWxseSBl eHBvc2UgYSBuZXcgZGlhZ25vc2UNCj4+IG9wZXJhdGlvbiB0aGF0IHVzZXMgdGhlIG5ldyBBUEku DQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogRXJhbiBCZW4gRWxpc2hhIDxlcmFuYmVAbWVsbGFub3gu Y29tPg0KPj4gUmV2aWV3ZWQtYnk6IE1vc2hlIFNoZW1lc2ggPG1vc2hlQG1lbGxhbm94LmNvbT4N Cj4+IC0tLQ0KPj4gLi4uL21lbGxhbm94L21seDUvY29yZS9lbi9yZXBvcnRlcl90eC5jICAgICAg IHwgMTIzICsrKystLS0tLS0tLS0tLS0tLQ0KPj4gMSBmaWxlIGNoYW5nZWQsIDI2IGluc2VydGlv bnMoKyksIDk3IGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4vcmVwb3J0ZXJfdHguYyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi9yZXBvcnRlcl90eC5jDQo+PiBpbmRleCBk OTY3NWFmYmI5MjQuLmZjOTI4NTBjMjE0YSAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi9yZXBvcnRlcl90eC5jDQo+PiArKysgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW4vcmVwb3J0ZXJfdHguYw0KPj4g QEAgLTE5MiwxMTAgKzE5Miw0NyBAQCBzdGF0aWMgaW50IG1seDVlX3R4X3JlcG9ydGVyX3JlY292 ZXIoc3RydWN0IGRldmxpbmtfaGVhbHRoX3JlcG9ydGVyICpyZXBvcnRlciwNCj4+IH0NCj4+DQo+ PiBzdGF0aWMgaW50DQo+PiAtbWx4NWVfdHhfcmVwb3J0ZXJfYnVpbGRfZGlhZ25vc2Vfb3V0cHV0 KHN0cnVjdCBkZXZsaW5rX2hlYWx0aF9idWZmZXIgKmJ1ZmZlciwNCj4+ICttbHg1ZV90eF9yZXBv cnRlcl9idWlsZF9kaWFnbm9zZV9vdXRwdXQoc3RydWN0IGRldmxpbmtfbXNnX2N0eCAqbXNnX2N0 eCwNCj4+IAkJCQkJdTMyIHNxbiwgdTggc3RhdGUsIHU4IHN0b3BwZWQpDQo+IA0KPiBXaGF0IGlz ICJzdGF0ZSIgYW5kICJzdG9wcGVkIj8gSXMgInN0b3BwZWQiIGEgYm9vbD8gSXMgInN0YXRlIiBh biBlbnVtLg0KPiANCnN0b3BwZWQgaXMgdGhlIHJlcGx5IGZyb20gbmV0aWZfeG1pdF9zdG9wcGVk LCBhbmQgaXQgaXMgYSBib29sLg0Kc3RhdGUgaXMgdGhlIEhXIHN0YXRlIG9mIHRoZSBTUS4NCml0 IGlzIGRlZmluZWQgaW4gdGhlIGlmYyBmaWxlOg0KZW51bSB7DQogICAgICAgICBNTFg1X1NRQ19T VEFURV9SU1QgID0gMHgwLA0KICAgICAgICAgTUxYNV9TUUNfU1RBVEVfUkRZICA9IDB4MSwNCiAg ICAgICAgIE1MWDVfU1FDX1NUQVRFX0VSUiAgPSAweDMsDQp9Ow0KSSBjb3VsZCBoYXZlIHRyYW5z bGF0ZWQgaXQgaW50byBzdHJpbmdzLCBidXQgSSB0aG91Z2ggaXQgd291bGQgYmUgZmluZSANCnRv IGxlYXZlIGl0IGFzIGlzLg0KDQo+IA0KPj4gew0KPj4gLQlpbnQgZXJyLCBpOw0KPj4gLQlpbnQg bmVzdCA9IDA7DQo+PiAtCWNoYXIgbmFtZVsyMF07DQo+PiAtDQo+PiAtCWVyciA9IGRldmxpbmtf aGVhbHRoX2J1ZmZlcl9uZXN0X3N0YXJ0KGJ1ZmZlciwNCj4+IC0JCQkJCSAgICAgICBERVZMSU5L X0FUVFJfSEVBTFRIX0JVRkZFUl9PQkpFQ1QpOw0KPj4gLQlpZiAoZXJyKQ0KPj4gLQkJZ290byBi dWZmZXJfZXJyb3I7DQo+PiAtCW5lc3QrKzsNCj4+IC0NCj4+IC0JZXJyID0gZGV2bGlua19oZWFs dGhfYnVmZmVyX25lc3Rfc3RhcnQoYnVmZmVyLA0KPj4gLQkJCQkJICAgICAgIERFVkxJTktfQVRU Ul9IRUFMVEhfQlVGRkVSX09CSkVDVF9QQUlSKTsNCj4+IC0JaWYgKGVycikNCj4+IC0JCWdvdG8g YnVmZmVyX2Vycm9yOw0KPj4gLQluZXN0Kys7DQo+PiAtDQo+PiAtCXNwcmludGYobmFtZSwgIlNR IDB4JXgiLCBzcW4pOw0KPj4gLQllcnIgPSBkZXZsaW5rX2hlYWx0aF9idWZmZXJfcHV0X29iamVj dF9uYW1lKGJ1ZmZlciwgbmFtZSk7DQo+PiAtCWlmIChlcnIpDQo+PiAtCQlnb3RvIGJ1ZmZlcl9l cnJvcjsNCj4+IC0NCj4+IC0JZXJyID0gZGV2bGlua19oZWFsdGhfYnVmZmVyX25lc3Rfc3RhcnQo YnVmZmVyLA0KPj4gLQkJCQkJICAgICAgIERFVkxJTktfQVRUUl9IRUFMVEhfQlVGRkVSX09CSkVD VF9WQUxVRSk7DQo+PiAtCWlmIChlcnIpDQo+PiAtCQlnb3RvIGJ1ZmZlcl9lcnJvcjsNCj4+IC0J bmVzdCsrOw0KPj4gLQ0KPj4gLQllcnIgPSBkZXZsaW5rX2hlYWx0aF9idWZmZXJfbmVzdF9zdGFy dChidWZmZXIsDQo+PiAtCQkJCQkgICAgICAgREVWTElOS19BVFRSX0hFQUxUSF9CVUZGRVJfT0JK RUNUKTsNCj4+IC0JaWYgKGVycikNCj4+IC0JCWdvdG8gYnVmZmVyX2Vycm9yOw0KPj4gLQluZXN0 Kys7DQo+PiAtDQo+PiAtCWVyciA9IGRldmxpbmtfaGVhbHRoX2J1ZmZlcl9uZXN0X3N0YXJ0KGJ1 ZmZlciwNCj4+IC0JCQkJCSAgICAgICBERVZMSU5LX0FUVFJfSEVBTFRIX0JVRkZFUl9PQkpFQ1Rf UEFJUik7DQo+PiAtCWlmIChlcnIpDQo+PiAtCQlnb3RvIGJ1ZmZlcl9lcnJvcjsNCj4+IC0JbmVz dCsrOw0KPj4gLQ0KPj4gLQllcnIgPSBkZXZsaW5rX2hlYWx0aF9idWZmZXJfcHV0X29iamVjdF9u YW1lKGJ1ZmZlciwgIkhXIHN0YXRlIik7DQo+PiAtCWlmIChlcnIpDQo+PiAtCQlnb3RvIGJ1ZmZl cl9lcnJvcjsNCj4+ICsJaW50IGVycjsNCj4+DQo+PiAtCWVyciA9IGRldmxpbmtfaGVhbHRoX2J1 ZmZlcl9uZXN0X3N0YXJ0KGJ1ZmZlciwNCj4+IC0JCQkJCSAgICAgICBERVZMSU5LX0FUVFJfSEVB TFRIX0JVRkZFUl9PQkpFQ1RfVkFMVUUpOw0KPj4gKwllcnIgPSBkZXZsaW5rX21zZ19vYmplY3Rf c3RhcnQobXNnX2N0eCwgIlNRIik7DQo+PiAJaWYgKGVycikNCj4+IC0JCWdvdG8gYnVmZmVyX2Vy cm9yOw0KPj4gLQluZXN0Kys7DQo+PiArCQlyZXR1cm4gZXJyOw0KPj4NCj4+IC0JZXJyID0gZGV2 bGlua19oZWFsdGhfYnVmZmVyX3B1dF92YWx1ZV91OChidWZmZXIsIHN0YXRlKTsNCj4+ICsJZXJy ID0gZGV2bGlua19tc2dfb2JqZWN0X3N0YXJ0KG1zZ19jdHgsIE5VTEwpOw0KPj4gCWlmIChlcnIp DQo+PiAtCQlnb3RvIGJ1ZmZlcl9lcnJvcjsNCj4+IC0NCj4+IC0JZGV2bGlua19oZWFsdGhfYnVm ZmVyX25lc3RfZW5kKGJ1ZmZlcik7IC8qIERFVkxJTktfQVRUUl9IRUFMVEhfQlVGRkVSX09CSkVD VF9WQUxVRSAqLw0KPj4gLQluZXN0LS07DQo+PiAtDQo+PiAtCWRldmxpbmtfaGVhbHRoX2J1ZmZl cl9uZXN0X2VuZChidWZmZXIpOyAvKiBERVZMSU5LX0FUVFJfSEVBTFRIX0JVRkZFUl9PQkpFQ1Rf UEFJUiAqLw0KPj4gLQluZXN0LS07DQo+PiArCQlyZXR1cm4gZXJyOw0KPj4NCj4+IC0JZXJyID0g ZGV2bGlua19oZWFsdGhfYnVmZmVyX25lc3Rfc3RhcnQoYnVmZmVyLA0KPj4gLQkJCQkJICAgICAg IERFVkxJTktfQVRUUl9IRUFMVEhfQlVGRkVSX09CSkVDVF9QQUlSKTsNCj4+ICsJZXJyID0gZGV2 bGlua19tc2dfcHV0X25hbWVfdmFsdWVfcGFpcihtc2dfY3R4LCAic3FuIiwgJnNxbiwNCj4+ICsJ CQkJCSAgICAgIHNpemVvZihzcW4pLCBOTEFfVTMyKTsNCj4+IAlpZiAoZXJyKQ0KPj4gLQkJZ290 byBidWZmZXJfZXJyb3I7DQo+PiAtCW5lc3QrKzsNCj4+ICsJCXJldHVybiBlcnI7DQo+Pg0KPj4g LQllcnIgPSBkZXZsaW5rX2hlYWx0aF9idWZmZXJfcHV0X29iamVjdF9uYW1lKGJ1ZmZlciwgInN0 b3BwZWQiKTsNCj4+ICsJZXJyID0gZGV2bGlua19tc2dfcHV0X25hbWVfdmFsdWVfcGFpcihtc2df Y3R4LCAiSFcgc3RhdGUiLCAmc3RhdGUsDQo+PiArCQkJCQkgICAgICBzaXplb2Yoc3RhdGUpLCBO TEFfVTgpOw0KPj4gCWlmIChlcnIpDQo+PiAtCQlnb3RvIGJ1ZmZlcl9lcnJvcjsNCj4+ICsJCXJl dHVybiBlcnI7DQo+Pg0KPj4gLQllcnIgPSBkZXZsaW5rX2hlYWx0aF9idWZmZXJfbmVzdF9zdGFy dChidWZmZXIsDQo+PiAtCQkJCQkgICAgICAgREVWTElOS19BVFRSX0hFQUxUSF9CVUZGRVJfT0JK RUNUX1ZBTFVFKTsNCj4+ICsJZXJyID0gZGV2bGlua19tc2dfcHV0X25hbWVfdmFsdWVfcGFpciht c2dfY3R4LCAic3RvcHBlZCIsICZzdG9wcGVkLA0KPj4gKwkJCQkJICAgICAgc2l6ZW9mKHN0b3Bw ZWQpLCBOTEFfVTgpOw0KPj4gCWlmIChlcnIpDQo+PiAtCQlnb3RvIGJ1ZmZlcl9lcnJvcjsNCj4+ IC0JbmVzdCsrOw0KPj4gKwkJcmV0dXJuIGVycjsNCj4+DQo+PiAtCWVyciA9IGRldmxpbmtfaGVh bHRoX2J1ZmZlcl9wdXRfdmFsdWVfdTgoYnVmZmVyLCBzdG9wcGVkKTsNCj4+ICsJZXJyID0gZGV2 bGlua19tc2dfb2JqZWN0X2VuZChtc2dfY3R4LCBOVUxMKTsNCj4+IAlpZiAoZXJyKQ0KPj4gLQkJ Z290byBidWZmZXJfZXJyb3I7DQo+PiAtDQo+PiAtCWZvciAoaSA9IDA7IGkgPCBuZXN0OyBpKysp DQo+PiAtCQlkZXZsaW5rX2hlYWx0aF9idWZmZXJfbmVzdF9lbmQoYnVmZmVyKTsNCj4+IC0NCj4+ IC0JcmV0dXJuIDA7DQo+PiArCQlyZXR1cm4gZXJyOw0KPj4NCj4+IC1idWZmZXJfZXJyb3I6DQo+ PiAtCWZvciAoaSA9IDA7IGkgPCBuZXN0OyBpKyspDQo+PiAtCQlkZXZsaW5rX2hlYWx0aF9idWZm ZXJfbmVzdF9jYW5jZWwoYnVmZmVyKTsNCj4+ICsJZXJyID0gZGV2bGlua19tc2dfb2JqZWN0X2Vu ZChtc2dfY3R4LCAiU1EiKTsNCj4+IAlyZXR1cm4gZXJyOw0KPj4gfQ0KPj4NCj4+IHN0YXRpYyBp bnQgbWx4NWVfdHhfcmVwb3J0ZXJfZGlhZ25vc2Uoc3RydWN0IGRldmxpbmtfaGVhbHRoX3JlcG9y dGVyICpyZXBvcnRlciwNCj4+IC0JCQkJICAgICAgc3RydWN0IGRldmxpbmtfaGVhbHRoX2J1ZmZl ciAqKmJ1ZmZlcnNfYXJyYXksDQo+PiAtCQkJCSAgICAgIHVuc2lnbmVkIGludCBidWZmZXJfc2l6 ZSwNCj4+IC0JCQkJICAgICAgdW5zaWduZWQgaW50IG51bV9idWZmZXJzKQ0KPj4gKwkJCQkgICAg ICBzdHJ1Y3QgZGV2bGlua19tc2dfY3R4ICptc2dfY3R4KQ0KPj4gew0KPj4gCXN0cnVjdCBtbHg1 ZV9wcml2ICpwcml2ID0gZGV2bGlua19oZWFsdGhfcmVwb3J0ZXJfcHJpdihyZXBvcnRlcik7DQo+ PiAtCXVuc2lnbmVkIGludCBidWZmID0gMDsNCj4+IC0JaW50IGkgPSAwLCBlcnIgPSAwOw0KPj4g LQ0KPj4gLQlpZiAoYnVmZmVyX3NpemUgPCBNTFg1RV9UWF9SRVBPUlRFUl9QRVJfU1FfTUFYX0xF TikNCj4+IC0JCXJldHVybiAtRU5PTUVNOw0KPj4gKwlpbnQgaSwgZXJyID0gMDsNCj4+DQo+PiAJ bXV0ZXhfbG9jaygmcHJpdi0+c3RhdGVfbG9jayk7DQo+Pg0KPj4gQEAgLTMwNCw3ICsyNDEsOCBA QCBzdGF0aWMgaW50IG1seDVlX3R4X3JlcG9ydGVyX2RpYWdub3NlKHN0cnVjdCBkZXZsaW5rX2hl YWx0aF9yZXBvcnRlciAqcmVwb3J0ZXIsDQo+PiAJCXJldHVybiAwOw0KPj4gCX0NCj4+DQo+PiAt CXdoaWxlIChpIDwgcHJpdi0+Y2hhbm5lbHMubnVtICogcHJpdi0+Y2hhbm5lbHMucGFyYW1zLm51 bV90Yykgew0KPj4gKwlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+Y2hhbm5lbHMubnVtICogcHJpdi0+ Y2hhbm5lbHMucGFyYW1zLm51bV90YzsNCj4+ICsJICAgICBpKyspIHsNCj4+IAkJc3RydWN0IG1s eDVlX3R4cXNxICpzcSA9IHByaXYtPnR4cTJzcVtpXTsNCj4+IAkJdTggc3RhdGU7DQo+Pg0KPj4g QEAgLTMxMiwxNSArMjUwLDExIEBAIHN0YXRpYyBpbnQgbWx4NWVfdHhfcmVwb3J0ZXJfZGlhZ25v c2Uoc3RydWN0IGRldmxpbmtfaGVhbHRoX3JlcG9ydGVyICpyZXBvcnRlciwNCj4+IAkJaWYgKGVy cikNCj4+IAkJCWJyZWFrOw0KPj4NCj4+IC0JCWVyciA9IG1seDVlX3R4X3JlcG9ydGVyX2J1aWxk X2RpYWdub3NlX291dHB1dChidWZmZXJzX2FycmF5W2J1ZmZdLA0KPj4gLQkJCQkJCQkgICAgICBz cS0+c3FuLCBzdGF0ZSwNCj4+ICsJCWVyciA9IG1seDVlX3R4X3JlcG9ydGVyX2J1aWxkX2RpYWdu b3NlX291dHB1dChtc2dfY3R4LCBzcS0+c3FuLA0KPj4gKwkJCQkJCQkgICAgICBzdGF0ZSwNCj4+ IAkJCQkJCQkgICAgICBuZXRpZl94bWl0X3N0b3BwZWQoc3EtPnR4cSkpOw0KPiANCj4gVGhpcyBz aG91bGQgYmUgYW4gYXJyYXkuIE9uIFNRIGVudHJ5IDogb25lIG1lbWJlciBvZiBhcnJheS4NCj4g DQo+IFNvIGlmIHlvdSB3YW50IHRvIGNoYW5nZSBpdCwgeW91IG5lZWQgdG8gZG8gdGhpcyBpbiAy IHBhdGNoZXMuIE9uZSBBUEksDQo+IG9uZSB0aGUgYWN0dWFsIGxheW91dC4gOi8NCj4gDQo+IA0K PiANCj4+IC0JCWlmIChlcnIpIHsNCj4+IC0JCQlpZiAoKytidWZmID09IG51bV9idWZmZXJzKQ0K Pj4gLQkJCQlicmVhazsNCj4+IC0JCX0gZWxzZSB7DQo+PiAtCQkJaSsrOw0KPj4gLQkJfQ0KPj4g KwkJaWYgKGVycikNCj4+ICsJCQlicmVhazsNCj4+IAl9DQo+Pg0KPj4gCW11dGV4X3VubG9jaygm cHJpdi0+c3RhdGVfbG9jayk7DQo+PiBAQCAtMzMwLDExICsyNjQsNiBAQCBzdGF0aWMgaW50IG1s eDVlX3R4X3JlcG9ydGVyX2RpYWdub3NlKHN0cnVjdCBkZXZsaW5rX2hlYWx0aF9yZXBvcnRlciAq cmVwb3J0ZXIsDQo+PiBzdGF0aWMgY29uc3Qgc3RydWN0IGRldmxpbmtfaGVhbHRoX3JlcG9ydGVy X29wcyBtbHg1X3R4X3JlcG9ydGVyX29wcyA9IHsNCj4+IAkJLm5hbWUgPSAiVFgiLA0KPj4gCQku cmVjb3ZlciA9IG1seDVlX3R4X3JlcG9ydGVyX3JlY292ZXIsDQo+PiAtCQkuZGlhZ25vc2Vfc2l6 ZSA9IE1MWDVFX01BWF9OVU1fQ0hBTk5FTFMgKiBNTFg1RV9NQVhfTlVNX1RDICoNCj4+IC0JCQkJ IE1MWDVFX1RYX1JFUE9SVEVSX1BFUl9TUV9NQVhfTEVOLA0KPj4gLQkJLmRpYWdub3NlID0gbWx4 NWVfdHhfcmVwb3J0ZXJfZGlhZ25vc2UsDQo+IA0KPiBTbyB5b3UgY2hhbmdlIHRoZSBjYWxsYmFj aywgcmVtb3ZlIGl0IHNvIHRoZSBkaXNzZWN0aW9uIGlzIGJyb2tlbi4NCg0KVGhpcyBpcyBuZWVk ZWQgaW4gb3JkZXIgdG8gaGF2ZSB0aGlzIHBhdGNoIGNvbXBpbGVkLg0KDQo+IA0KPiANCj4gDQo+ PiAtCQkuZHVtcF9zaXplID0gMCwNCj4+IC0JCS5kdW1wID0gTlVMTCwNCj4gDQo+IA0KPiBUaGlz IGhhcyAwIHJlbGF0aW9uIHRvIHRoZSBwYXRjaC4gU2hvdWxkIGJlIHNlcGFyYXRlLg0KDQphY2su DQoNCj4gDQo+IA0KPj4gfTsNCj4+DQo+PiAjZGVmaW5lIE1MWDVfUkVQT1JURVJfVFhfR1JBQ0VG VUxfUEVSSU9EIDUwMA0KPj4gLS0gDQo+PiAyLjE3LjENCj4+DQo=