From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 08A80A0679 for ; Mon, 29 Apr 2019 10:20:54 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9CC471B276; Mon, 29 Apr 2019 10:20:24 +0200 (CEST) Received: from NAM04-BN3-obe.outbound.protection.outlook.com (mail-eopbgr680081.outbound.protection.outlook.com [40.107.68.81]) by dpdk.org (Postfix) with ESMTP id 2986E1B206; Mon, 29 Apr 2019 10:20:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yTKIb7WX2dRRVZ+duHYMarHFcyErfsWz4VRZsroPoVs=; b=kz1dXyW2DWLjJX1mdIpIWHoRRbNwxzForTObweBwsTx85PWB9hqF1PTKOEIsVejVzG9BGsocyWZFfH+X4YNhtxz3YPCaMUhH+aoAbJ/2qkPkJ8A+jZS+bvl2Ta7Hy/HSwORkJmlsWHikVmE5PTFSIVlUnnx7nzlHXrgfopX5CBw= Received: from DM6PR11MB3625.namprd11.prod.outlook.com (20.178.230.149) by DM6PR11MB2841.namprd11.prod.outlook.com (20.176.100.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1835.13; Mon, 29 Apr 2019 08:20:16 +0000 Received: from DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::f035:2c20:5a61:7653]) by DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::f035:2c20:5a61:7653%3]) with mapi id 15.20.1835.010; Mon, 29 Apr 2019 08:20:15 +0000 From: Igor Russkikh To: "dev@dpdk.org" CC: Pavel Belous , Igor Russkikh , "stable@dpdk.org" Thread-Topic: [PATCH 04/11] net/atlantic: eeprom get/set should consider offset Thread-Index: AQHU/mRfs2t+UBKUo0OqSueAV2G1dw== Date: Mon, 29 Apr 2019 08:20:15 +0000 Message-ID: <8daab002f486a50a0ad1aa02cd39513c732c94b8.1556525874.git.igor.russkikh@aquantia.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: HE1P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:3:bc::26) To DM6PR11MB3625.namprd11.prod.outlook.com (2603:10b6:5:13a::21) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Igor.Russkikh@aquantia.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-originating-ip: [95.79.108.179] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 08567be1-4aa2-4858-aaae-08d6cc7b81f6 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(2017052603328)(7193020); SRVR:DM6PR11MB2841; x-ms-traffictypediagnostic: DM6PR11MB2841: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:221; x-forefront-prvs: 0022134A87 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(376002)(396003)(136003)(39840400004)(346002)(199004)(189003)(44832011)(99286004)(186003)(118296001)(478600001)(71200400001)(53936002)(6506007)(71190400001)(446003)(5660300002)(2351001)(14454004)(14444005)(486006)(66556008)(73956011)(66946007)(64756008)(66476007)(66446008)(386003)(52116002)(316002)(11346002)(2616005)(7736002)(476003)(72206003)(54906003)(305945005)(81166006)(1730700003)(2501003)(36756003)(76176011)(81156014)(6486002)(3846002)(66066001)(102836004)(6916009)(97736004)(8936002)(450100002)(86362001)(6116002)(6436002)(26005)(256004)(8676002)(50226002)(2906002)(25786009)(5640700003)(6512007)(68736007)(4326008); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR11MB2841; H:DM6PR11MB3625.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: aquantia.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: dUcrxUl827IY22xFcgFKtsnPyxpIdXqiziQcDmALFKHmrvRhk6pFrNTGQjstY7DdCVfMwcOVFR5JpG5Jv6sNggDllJIzhTCYbD73bTbDH9t8siQ2E9/H0h+P6Dn9iR5vbYi+XfY5dBhXbduxoo0iJL16bL1i7DS7hCKtZzpl7TRbwzEwx5JcpTL8UgsnIGUhhZ1IYdx2skeIvZS4GO+WsivM3APpDTzwIyVFarHqxg9cMKkmBG/uf0oZcj0tOAQhQfvtXi8cIa9Lf2IHatlOAjrTcxR7X0mD0ocnIbYNDeYcyyLVkbPmMyiBpygt6YpcaNZYrtiWl1OtjE29uUYWZ2pKhWjFF5t0XHKqFjzz2T5LqVB1dd25PY4jvg10rV3EcbX5dYkL8gM7dD+AMTgWL2u5By65iRSwbfq6O4FPDe4= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 08567be1-4aa2-4858-aaae-08d6cc7b81f6 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Apr 2019 08:20:15.7026 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 83e2e134-991c-4ede-8ced-34d47e38e6b1 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB2841 Subject: [dpdk-dev] [PATCH 04/11] net/atlantic: eeprom get/set should consider offset 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Message-ID: <20190429082015.iRxDf_qSaQCcMbEC4nLc0K-LC8KEpmIwfsE6J1QYK2I@z> RnJvbTogUGF2ZWwgQmVsb3VzIDxwYXZlbC5iZWxvdXNAYXF1YW50aWEuY29tPg0KDQpFRVBST00g Z2V0L3NldCBvZmZzZXQgbG9naWMgc2hvdWxkIHRha2Ugb2Zmc2V0IGludG8gYWNjb3VudC4NCkRh dGEgdHJhbnNmZXJzIHRvL2Zyb20gRlcgc2hvdWxkIGFsc28gY29ycmVjdGx5IHVzZQ0KZHdvcmQg YmFzZWQgdHJhbnNmZXIgaW50ZXJmYWNlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZQ0KcmVtYWlu ZGVyLg0KV2UgYWxzbyBjaGVjayBlcnJvciBjb2RlIHJldHVybmVkIGZyb20gRlcuDQoNCmNjOiBz dGFibGVAZHBkay5vcmcNCkZpeGVzOiBjZTRlOGQ0MTgwOTcgKCJuZXQvYXRsYW50aWM6IGltcGxl bWVudCBFRVBST00gZ2V0L3NldCIpDQpTaWduZWQtb2ZmLWJ5OiBJZ29yIFJ1c3NraWtoIDxpZ29y LnJ1c3NraWtoQGFxdWFudGlhLmNvbT4NClNpZ25lZC1vZmYtYnk6IFBhdmVsIEJlbG91cyA8cGF2 ZWwuYmVsb3VzQGFxdWFudGlhLmNvbT4NCi0tLQ0KIGRyaXZlcnMvbmV0L2F0bGFudGljL2F0bF9l dGhkZXYuYyAgICAgICAgICAgICB8ICA3ICstDQogZHJpdmVycy9uZXQvYXRsYW50aWMvYXRsX3R5 cGVzLmggICAgICAgICAgICAgIHwgIDIgKy0NCiBkcml2ZXJzL25ldC9hdGxhbnRpYy9od19hdGwv aHdfYXRsX3V0aWxzLmggICAgfCAxMSArLS0NCiAuLi4vbmV0L2F0bGFudGljL2h3X2F0bC9od19h dGxfdXRpbHNfZncyeC5jICAgfCA5NSArKysrKysrKysrKystLS0tLS0tDQogNCBmaWxlcyBjaGFu Z2VkLCA2OCBpbnNlcnRpb25zKCspLCA0NyBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L2F0bGFudGljL2F0bF9ldGhkZXYuYyBiL2RyaXZlcnMvbmV0L2F0bGFudGljL2F0 bF9ldGhkZXYuYw0KaW5kZXggNGU2MTI0YWEzMThlLi43YmU5N2FiMzA5NWUgMTAwNjQ0DQotLS0g YS9kcml2ZXJzL25ldC9hdGxhbnRpYy9hdGxfZXRoZGV2LmMNCisrKyBiL2RyaXZlcnMvbmV0L2F0 bGFudGljL2F0bF9ldGhkZXYuYw0KQEAgLTE0NDgsMTQgKzE0NDgsMTUgQEAgaW50IGF0bF9kZXZf c2V0X2VlcHJvbShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCiAJaWYgKGh3LT5hcV9md19vcHMt PnNldF9lZXByb20gPT0gTlVMTCkNCiAJCXJldHVybiAtRU5PVFNVUDsNCiANCi0JaWYgKGVlcHJv bS0+bGVuZ3RoICE9IFNGUF9FRVBST01fU0laRSB8fCBlZXByb20tPmRhdGEgPT0gTlVMTCkNCisJ aWYgKGVlcHJvbS0+bGVuZ3RoICsgZWVwcm9tLT5vZmZzZXQgPiBTRlBfRUVQUk9NX1NJWkUgfHwN CisJICAgIGVlcHJvbS0+ZGF0YSA9PSBOVUxMKQ0KIAkJcmV0dXJuIC1FSU5WQUw7DQogDQogCWlm IChlZXByb20tPm1hZ2ljKQ0KIAkJZGV2X2FkZHIgPSBlZXByb20tPm1hZ2ljOw0KIA0KLQlyZXR1 cm4gaHctPmFxX2Z3X29wcy0+c2V0X2VlcHJvbShodywgZGV2X2FkZHIsDQotCQkJCQkgZWVwcm9t LT5kYXRhLCBlZXByb20tPmxlbmd0aCk7DQorCXJldHVybiBody0+YXFfZndfb3BzLT5zZXRfZWVw cm9tKGh3LCBkZXZfYWRkciwgZWVwcm9tLT5kYXRhLA0KKwkJCQkJIGVlcHJvbS0+bGVuZ3RoLCBl ZXByb20tPm9mZnNldCk7DQogfQ0KIA0KIHN0YXRpYyBpbnQNCmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9hdGxhbnRpYy9hdGxfdHlwZXMuaCBiL2RyaXZlcnMvbmV0L2F0bGFudGljL2F0bF90eXBl cy5oDQppbmRleCBkYmFmMmM2MzVmNTAuLjg0YTQ3NzY5NTFkYiAxMDA2NDQNCi0tLSBhL2RyaXZl cnMvbmV0L2F0bGFudGljL2F0bF90eXBlcy5oDQorKysgYi9kcml2ZXJzL25ldC9hdGxhbnRpYy9h dGxfdHlwZXMuaA0KQEAgLTE3Nyw3ICsxNzcsNyBAQCBzdHJ1Y3QgYXFfZndfb3BzIHsNCiAJCQkg IHUzMiAqZGF0YSwgdTMyIGxlbiwgdTMyIG9mZnNldCk7DQogDQogCWludCAoKnNldF9lZXByb20p KHN0cnVjdCBhcV9od19zICpzZWxmLCBpbnQgZGV2X2FkZHIsDQotCQkJICB1MzIgKmRhdGEsIHUz MiBsZW4pOw0KKwkJCSAgdTMyICpkYXRhLCB1MzIgbGVuLCB1MzIgb2Zmc2V0KTsNCiANCiAJaW50 ICgqc2VuZF9tYWNzZWNfcmVxKShzdHJ1Y3QgYXFfaHdfcyAqc2VsZiwNCiAJCQkgICAgICAgc3Ry dWN0IG1hY3NlY19tc2dfZndfcmVxdWVzdCAqcmVxLA0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L2F0bGFudGljL2h3X2F0bC9od19hdGxfdXRpbHMuaCBiL2RyaXZlcnMvbmV0L2F0bGFudGljL2h3 X2F0bC9od19hdGxfdXRpbHMuaA0KaW5kZXggYjdjNTMxNTczNjIzLi44MWNhZmZhZWRmZDAgMTAw NjQ0DQotLS0gYS9kcml2ZXJzL25ldC9hdGxhbnRpYy9od19hdGwvaHdfYXRsX3V0aWxzLmgNCisr KyBiL2RyaXZlcnMvbmV0L2F0bGFudGljL2h3X2F0bC9od19hdGxfdXRpbHMuaA0KQEAgLTMzNywx NSArMzM3LDggQEAgc3RydWN0IG9mZmxvYWRfaW5mbyB7DQogCXU4IGJ1ZlswXTsNCiB9IF9fYXR0 cmlidXRlX18oKF9fcGFja2VkX18pKTsNCiANCi1zdHJ1Y3Qgc21idXNfcmVhZF9yZXF1ZXN0IHsN Ci0JdTMyIG9mZnNldDsgLyogbm90IHVzZWQgKi8NCi0JdTMyIGRldmljZV9pZDsNCi0JdTMyIGFk ZHJlc3M7DQotCXUzMiBsZW5ndGg7DQotfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7DQot DQotc3RydWN0IHNtYnVzX3dyaXRlX3JlcXVlc3Qgew0KLQl1MzIgb2Zmc2V0OyAvKiBub3QgdXNl ZCAqLw0KK3N0cnVjdCBzbWJ1c19yZXF1ZXN0IHsNCisJdTMyIG1zZ19pZDsgLyogbm90IHVzZWQg Ki8NCiAJdTMyIGRldmljZV9pZDsNCiAJdTMyIGFkZHJlc3M7DQogCXUzMiBsZW5ndGg7DQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF91dGlsc19mdzJ4LmMg Yi9kcml2ZXJzL25ldC9hdGxhbnRpYy9od19hdGwvaHdfYXRsX3V0aWxzX2Z3MnguYw0KaW5kZXgg ODlhMzc1OWI4OWI0Li5kZTQxODk0NDFmYWQgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC9hdGxh bnRpYy9od19hdGwvaHdfYXRsX3V0aWxzX2Z3MnguYw0KKysrIGIvZHJpdmVycy9uZXQvYXRsYW50 aWMvaHdfYXRsL2h3X2F0bF91dGlsc19mdzJ4LmMNCkBAIC00OTgsMTQgKzQ5OCwxNyBAQCBzdGF0 aWMgaW50IGFxX2Z3MnhfbGVkX2NvbnRyb2woc3RydWN0IGFxX2h3X3MgKnNlbGYsIHUzMiBtb2Rl KQ0KIHN0YXRpYyBpbnQgYXFfZncyeF9nZXRfZWVwcm9tKHN0cnVjdCBhcV9od19zICpzZWxmLCBp bnQgZGV2X2FkZHIsDQogCQkJICAgICAgdTMyICpkYXRhLCB1MzIgbGVuLCB1MzIgb2Zmc2V0KQ0K IHsNCi0JaW50IGVyciA9IDA7DQotCXN0cnVjdCBzbWJ1c19yZWFkX3JlcXVlc3QgcmVxdWVzdDsN Ci0JdTMyIG1waV9vcHRzOw0KKwl1MzIgYnl0ZXNfcmVtYWlucyA9IGxlbiAlIHNpemVvZih1MzIp Ow0KKwl1MzIgbnVtX2R3b3JkcyA9IGxlbiAvIHNpemVvZih1MzIpOw0KKwlzdHJ1Y3Qgc21idXNf cmVxdWVzdCByZXF1ZXN0Ow0KIAl1MzIgcmVzdWx0ID0gMDsNCisJdTMyIG1waV9vcHRzOw0KKwlp bnQgZXJyID0gMDsNCiANCiAJaWYgKHNlbGYtPmZ3X3Zlcl9hY3R1YWwgPCBIV19BVExfRldfRkVB VFVSRV9FRVBST00pDQogCQlyZXR1cm4gLUVPUE5PVFNVUFA7DQogDQorCXJlcXVlc3QubXNnX2lk ID0gMDsNCiAJcmVxdWVzdC5kZXZpY2VfaWQgPSBkZXZfYWRkcjsNCiAJcmVxdWVzdC5hZGRyZXNz ID0gb2Zmc2V0Ow0KIAlyZXF1ZXN0Lmxlbmd0aCA9IGxlbjsNCkBAIC01NDAsMzQgKzU0MywzMyBA QCBzdGF0aWMgaW50IGFxX2Z3MnhfZ2V0X2VlcHJvbShzdHJ1Y3QgYXFfaHdfcyAqc2VsZiwgaW50 IGRldl9hZGRyLA0KIAlpZiAoZXJyIDwgMCkNCiAJCXJldHVybiBlcnI7DQogDQotCWlmIChyZXN1 bHQgPT0gMCkgew0KLQkJdTMyIG51bV9kd29yZHMgPSBsZW4gLyBzaXplb2YodTMyKTsNCi0JCXUz MiBieXRlc19yZW1haW5zID0gbGVuICUgc2l6ZW9mKHUzMik7DQorCWlmIChyZXN1bHQpDQorCQly ZXR1cm4gLUVJTzsNCiANCi0JCWlmIChudW1fZHdvcmRzKSB7DQotCQkJZXJyID0gaHdfYXRsX3V0 aWxzX2Z3X2Rvd25sZF9kd29yZHMoc2VsZiwNCi0JCQkJc2VsZi0+cnBjX2FkZHIgKyBzaXplb2Yo dTMyKSAqIDIsDQotCQkJCWRhdGEsDQotCQkJCW51bV9kd29yZHMpOw0KKwlpZiAobnVtX2R3b3Jk cykgew0KKwkJZXJyID0gaHdfYXRsX3V0aWxzX2Z3X2Rvd25sZF9kd29yZHMoc2VsZiwNCisJCQlz ZWxmLT5ycGNfYWRkciArIHNpemVvZih1MzIpICogMiwNCisJCQlkYXRhLA0KKwkJCW51bV9kd29y ZHMpOw0KIA0KLQkJCWlmIChlcnIgPCAwKQ0KLQkJCQlyZXR1cm4gZXJyOw0KLQkJfQ0KKwkJaWYg KGVyciA8IDApDQorCQkJcmV0dXJuIGVycjsNCisJfQ0KIA0KLQkJaWYgKGJ5dGVzX3JlbWFpbnMp IHsNCi0JCQl1MzIgdmFsID0gMDsNCisJaWYgKGJ5dGVzX3JlbWFpbnMpIHsNCisJCXUzMiB2YWwg PSAwOw0KIA0KLQkJCWVyciA9IGh3X2F0bF91dGlsc19md19kb3dubGRfZHdvcmRzKHNlbGYsDQot CQkJCXNlbGYtPnJwY19hZGRyICsgc2l6ZW9mKHUzMikgKiAyICsgbnVtX2R3b3JkcywNCi0JCQkJ JnZhbCwNCi0JCQkJc2l6ZW9mKHUzMikpOw0KKwkJZXJyID0gaHdfYXRsX3V0aWxzX2Z3X2Rvd25s ZF9kd29yZHMoc2VsZiwNCisJCQlzZWxmLT5ycGNfYWRkciArIChzaXplb2YodTMyKSAqIDIpICsN CisJCQkobnVtX2R3b3JkcyAqIHNpemVvZih1MzIpKSwNCisJCQkmdmFsLA0KKwkJCTEpOw0KIA0K LQkJCWlmIChlcnIgPCAwKQ0KLQkJCQlyZXR1cm4gZXJyOw0KKwkJaWYgKGVyciA8IDApDQorCQkJ cmV0dXJuIGVycjsNCiANCi0JCQlydGVfbWVtY3B5KCh1OCAqKWRhdGEgKyBsZW4gLSBieXRlc19y ZW1haW5zLA0KLQkJCQkgICAmdmFsLCBieXRlc19yZW1haW5zKTsNCi0JCX0NCisJCXJ0ZV9tZW1j cHkoKHU4ICopZGF0YSArIGxlbiAtIGJ5dGVzX3JlbWFpbnMsDQorCQkJCSZ2YWwsIGJ5dGVzX3Jl bWFpbnMpOw0KIAl9DQogDQogCXJldHVybiAwOw0KQEAgLTU3NSwxNyArNTc3LDE4IEBAIHN0YXRp YyBpbnQgYXFfZncyeF9nZXRfZWVwcm9tKHN0cnVjdCBhcV9od19zICpzZWxmLCBpbnQgZGV2X2Fk ZHIsDQogDQogDQogc3RhdGljIGludCBhcV9mdzJ4X3NldF9lZXByb20oc3RydWN0IGFxX2h3X3Mg KnNlbGYsIGludCBkZXZfYWRkciwNCi0JCQkgICAgICB1MzIgKmRhdGEsIHUzMiBsZW4pDQorCQkJ ICAgICAgdTMyICpkYXRhLCB1MzIgbGVuLCB1MzIgb2Zmc2V0KQ0KIHsNCi0Jc3RydWN0IHNtYnVz X3dyaXRlX3JlcXVlc3QgcmVxdWVzdDsNCisJc3RydWN0IHNtYnVzX3JlcXVlc3QgcmVxdWVzdDsN CiAJdTMyIG1waV9vcHRzLCByZXN1bHQgPSAwOw0KIAlpbnQgZXJyID0gMDsNCiANCiAJaWYgKHNl bGYtPmZ3X3Zlcl9hY3R1YWwgPCBIV19BVExfRldfRkVBVFVSRV9FRVBST00pDQogCQlyZXR1cm4g LUVPUE5PVFNVUFA7DQogDQorCXJlcXVlc3QubXNnX2lkID0gMDsNCiAJcmVxdWVzdC5kZXZpY2Vf aWQgPSBkZXZfYWRkcjsNCi0JcmVxdWVzdC5hZGRyZXNzID0gMDsNCisJcmVxdWVzdC5hZGRyZXNz ID0gb2Zmc2V0Ow0KIAlyZXF1ZXN0Lmxlbmd0aCA9IGxlbjsNCiANCiAJLyogV3JpdGUgU01CVVMg cmVxdWVzdCB0byBjZmcgbWVtb3J5ICovDQpAQCAtNTk3LDEzICs2MDAsMzQgQEAgc3RhdGljIGlu dCBhcV9mdzJ4X3NldF9lZXByb20oc3RydWN0IGFxX2h3X3MgKnNlbGYsIGludCBkZXZfYWRkciwN CiAJCXJldHVybiBlcnI7DQogDQogCS8qIFdyaXRlIFNNQlVTIGRhdGEgdG8gY2ZnIG1lbW9yeSAq Lw0KLQllcnIgPSBod19hdGxfdXRpbHNfZndfdXBsb2FkX2R3b3JkcyhzZWxmLA0KLQkJCQlzZWxm LT5ycGNfYWRkciArIHNpemVvZihyZXF1ZXN0KSwNCi0JCQkJKHUzMiAqKSh2b2lkICopZGF0YSwN Ci0JCQkJUlRFX0FMSUdOKGxlbiwgc2l6ZW9mKHUzMikpKTsNCisJdTMyIG51bV9kd29yZHMgPSBs ZW4gLyBzaXplb2YodTMyKTsNCisJdTMyIGJ5dGVzX3JlbWFpbnMgPSBsZW4gJSBzaXplb2YodTMy KTsNCiANCi0JaWYgKGVyciA8IDApDQotCQlyZXR1cm4gZXJyOw0KKwlpZiAobnVtX2R3b3Jkcykg ew0KKwkJZXJyID0gaHdfYXRsX3V0aWxzX2Z3X3VwbG9hZF9kd29yZHMoc2VsZiwNCisJCQlzZWxm LT5ycGNfYWRkciArIHNpemVvZihyZXF1ZXN0KSwNCisJCQkodTMyICopKHZvaWQgKilkYXRhLA0K KwkJCW51bV9kd29yZHMpOw0KKw0KKwkJaWYgKGVyciA8IDApDQorCQkJcmV0dXJuIGVycjsNCisJ fQ0KKw0KKwlpZiAoYnl0ZXNfcmVtYWlucykgew0KKwkJdTMyIHZhbCA9IDA7DQorDQorCQlydGVf bWVtY3B5KCZ2YWwsICh1OCAqKWRhdGEgKyAoc2l6ZW9mKHUzMikgKiBudW1fZHdvcmRzKSwNCisJ CQkgICBieXRlc19yZW1haW5zKTsNCisNCisJCWVyciA9IGh3X2F0bF91dGlsc19md191cGxvYWRf ZHdvcmRzKHNlbGYsDQorCQkJc2VsZi0+cnBjX2FkZHIgKyBzaXplb2YocmVxdWVzdCkgKw0KKwkJ CShudW1fZHdvcmRzICogc2l6ZW9mKHUzMikpLA0KKwkJCSZ2YWwsDQorCQkJMSk7DQorDQorCQlp ZiAoZXJyIDwgMCkNCisJCQlyZXR1cm4gZXJyOw0KKwl9DQogDQogCS8qIFRvZ2dsZSAweDM2OC5D QVBTX0xPX1NNQlVTX1dSSVRFIGJpdCAqLw0KIAltcGlfb3B0cyA9IGFxX2h3X3JlYWRfcmVnKHNl bGYsIEhXX0FUTF9GVzJYX01QSV9DT05UUk9MX0FERFIpOw0KQEAgLTYyNyw2ICs2NTEsOSBAQCBz dGF0aWMgaW50IGFxX2Z3Mnhfc2V0X2VlcHJvbShzdHJ1Y3QgYXFfaHdfcyAqc2VsZiwgaW50IGRl dl9hZGRyLA0KIAlpZiAoZXJyIDwgMCkNCiAJCXJldHVybiBlcnI7DQogDQorCWlmIChyZXN1bHQp DQorCQlyZXR1cm4gLUVJTzsNCisNCiAJcmV0dXJuIDA7DQogfQ0KIA0KLS0gDQoyLjE3LjENCg0K