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 21A0BA05D3 for ; Tue, 21 May 2019 10:55:31 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1AD6F4C9D; Tue, 21 May 2019 10:55:31 +0200 (CEST) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-eopbgr750045.outbound.protection.outlook.com [40.107.75.45]) by dpdk.org (Postfix) with ESMTP id C52C24F91 for ; Tue, 21 May 2019 10:55:29 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-AQUANTIA1COM-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qheNd7+5IWL7DE5OHRpg+/p/qGrRa7grLyyksRZZT+I=; b=TrTD92TpyimlBj4kPHr0FAQ9nA+V5sHFkqpdgEE9YPEx63B1DYzJH+uyQdGLhPyxZHxKJZ64uSeD1sdgWjd7ZSXUtNpiFt8qrVQbPDQv86wNxiXaLPcmR0GrLp7mNz5lrF7ePYazexxQVdYRPH6Afq2sqy42oa5BmQ59AxFSkAs= Received: from DM6PR11MB3625.namprd11.prod.outlook.com (20.178.230.149) by DM6PR11MB3452.namprd11.prod.outlook.com (20.176.123.97) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1900.17; Tue, 21 May 2019 08:55:28 +0000 Received: from DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::512d:4596:4513:424a]) by DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::512d:4596:4513:424a%5]) with mapi id 15.20.1900.020; Tue, 21 May 2019 08:55:28 +0000 From: Igor Russkikh To: "stable@dpdk.org" , "ktraynor@redhat.com" CC: Pavel Belous , Igor Russkikh , Pavel Belous Thread-Topic: [PATCH v2 18.11 04/10] net/atlantic: eeprom get/set should consider offset Thread-Index: AQHVD7LwGNKFDiboLUiOZkbnjIU2IA== Date: Tue, 21 May 2019 08:55:28 +0000 Message-ID: <1ccc563fe673ff69b1518dca7e934f033343a7de.1558426315.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: HE1PR05CA0276.eurprd05.prod.outlook.com (2603:10a6:3:fc::28) 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: 95881a88-31dc-434d-af30-08d6ddca125e x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(2017052603328)(7193020); SRVR:DM6PR11MB3452; x-ms-traffictypediagnostic: DM6PR11MB3452: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:635; x-forefront-prvs: 0044C17179 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(136003)(346002)(366004)(39850400004)(376002)(189003)(199004)(6486002)(478600001)(486006)(72206003)(73956011)(6436002)(71200400001)(71190400001)(66946007)(14454004)(44832011)(86362001)(186003)(26005)(446003)(66476007)(476003)(64756008)(66446008)(118296001)(11346002)(68736007)(6116002)(316002)(2616005)(3846002)(2906002)(2501003)(66066001)(66556008)(5660300002)(53936002)(99286004)(6512007)(25786009)(52116002)(102836004)(386003)(6506007)(14444005)(256004)(81166006)(107886003)(50226002)(305945005)(110136005)(76176011)(36756003)(8676002)(4326008)(81156014)(8936002)(7736002)(54906003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR11MB3452; H:DM6PR11MB3625.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A: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: 9ZWzao6Rtqq7SROohja0GjzNmDMwUJnJfc/bmGUwit6RwpaFDC49pUSzf5eCKXI9ickdHuyx1z7g2sfMZ16xYAWgDAdtzoRK8JCWfQOP4sg9eUIqdNUa4/qa8xTRhqsVHIs1gyDBtKj8A4hSblTjMhgaerNsmUztcKdSlU7kB8hThgW/B8vQF9GqgG6C8387Ou19Nw1TOfX8EyVnKnCy4ph9quqcHHMEE+m9bwL200xFg8if+5l8E1D6S+yw0ROLEn19X3PthBk3k7u6zbYX77M1vlUBZKq6Llzhri9DuD7a5tVOVz4sbT8A7vA3VtIzysdkSFmPc+rYrF9W8haSlHDMBfg/cYnw3Ds8NURFPoEVwc8H8FS5wj4gKDSvT1MlpzIwR38UE7a0mKmp5n3O8RWqpJ6VnpAIF37f7S0t1KY= 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: 95881a88-31dc-434d-af30-08d6ddca125e X-MS-Exchange-CrossTenant-originalarrivaltime: 21 May 2019 08:55:28.3089 (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: DM6PR11MB3452 Subject: [dpdk-stable] [PATCH v2 18.11 04/10] net/atlantic: eeprom get/set should consider offset X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" RnJvbTogUGF2ZWwgQmVsb3VzIDxwYXZlbC5iZWxvdXNAYXF1YW50aWEuY29tPg0KDQpFRVBST00g Z2V0L3NldCBvZmZzZXQgbG9naWMgc2hvdWxkIHRha2Ugb2Zmc2V0IGludG8gYWNjb3VudC4NCkRh dGEgdHJhbnNmZXJzIHRvL2Zyb20gRlcgc2hvdWxkIGFsc28gY29ycmVjdGx5IHVzZQ0KZHdvcmQg YmFzZWQgdHJhbnNmZXIgaW50ZXJmYWNlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZQ0KcmVtYWlu ZGVyLg0KV2UgYWxzbyBjaGVjayBlcnJvciBjb2RlIHJldHVybmVkIGZyb20gRlcuDQoNCmNjOiBz dGFibGVAZHBkay5vcmcNCkZpeGVzOiBjZTRlOGQ0MTgwOTcgKCJuZXQvYXRsYW50aWM6IGltcGxl bWVudCBFRVBST00gZ2V0L3NldCIpDQpTaWduZWQtb2ZmLWJ5OiBJZ29yIFJ1c3NraWtoIDxpZ29y LnJ1c3NraWtoQGFxdWFudGlhLmNvbT4NClNpZ25lZC1vZmYtYnk6IFBhdmVsIEJlbG91cyA8cGF2 ZWwuYmVsb3VzQGFxdWFudGlhLmNvbT4NClNpZ25lZC1vZmYtYnk6IFBhdmVsIEJlbG91cyA8UGF2 ZWwuQmVsb3VzQGFxdWFudGlhLmNvbT4NCi0tLQ0KIGRyaXZlcnMvbmV0L2F0bGFudGljL2F0bF9l dGhkZXYuYyAgICAgICAgICAgICB8ICAyMCArKy0NCiBkcml2ZXJzL25ldC9hdGxhbnRpYy9hdGxf dHlwZXMuaCAgICAgICAgICAgICAgfCAgIDYgKy0NCiBkcml2ZXJzL25ldC9hdGxhbnRpYy9od19h dGwvaHdfYXRsX3V0aWxzLmggICAgfCAgMTYgKy0tDQogLi4uL25ldC9hdGxhbnRpYy9od19hdGwv aHdfYXRsX3V0aWxzX2Z3MnguYyAgIHwgMTE3ICsrKysrKysrKysrLS0tLS0tLQ0KIDQgZmlsZXMg Y2hhbmdlZCwgOTggaW5zZXJ0aW9ucygrKSwgNjEgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9hdGxhbnRpYy9hdGxfZXRoZGV2LmMgYi9kcml2ZXJzL25ldC9hdGxhbnRp Yy9hdGxfZXRoZGV2LmMNCmluZGV4IGFjYzAwOTY2ZjNjNi4uMTEyMDhjZDkyODU1IDEwMDY0NA0K LS0tIGEvZHJpdmVycy9uZXQvYXRsYW50aWMvYXRsX2V0aGRldi5jDQorKysgYi9kcml2ZXJzL25l dC9hdGxhbnRpYy9hdGxfZXRoZGV2LmMNCkBAIC0xMTAzLDI4ICsxMTAzLDQwIEBAIHN0YXRpYyBp bnQNCiBhdGxfZGV2X2dldF9lZXByb20oc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHN0cnVjdCBy dGVfZGV2X2VlcHJvbV9pbmZvICplZXByb20pDQogew0KIAlzdHJ1Y3QgYXFfaHdfcyAqaHcgPSBB VExfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQorCWludCBkZXZf YWRkciA9IFNNQlVTX0RFVklDRV9JRDsNCiANCiAJaWYgKGh3LT5hcV9md19vcHMtPmdldF9lZXBy b20gPT0gTlVMTCkNCiAJCXJldHVybiAtRU5PVFNVUDsNCiANCi0JaWYgKGVlcHJvbS0+bGVuZ3Ro ICE9IFNGUF9FRVBST01fU0laRSB8fCBlZXByb20tPmRhdGEgPT0gTlVMTCkNCisJaWYgKGVlcHJv bS0+bGVuZ3RoICsgZWVwcm9tLT5vZmZzZXQgPiBTRlBfRUVQUk9NX1NJWkUgfHwNCisJICAgIGVl cHJvbS0+ZGF0YSA9PSBOVUxMKQ0KIAkJcmV0dXJuIC1FSU5WQUw7DQogDQotCXJldHVybiBody0+ YXFfZndfb3BzLT5nZXRfZWVwcm9tKGh3LCBlZXByb20tPmRhdGEsIGVlcHJvbS0+bGVuZ3RoKTsN CisJaWYgKGVlcHJvbS0+bWFnaWMpDQorCQlkZXZfYWRkciA9IGVlcHJvbS0+bWFnaWM7DQorDQor CXJldHVybiBody0+YXFfZndfb3BzLT5nZXRfZWVwcm9tKGh3LCBkZXZfYWRkciwgZWVwcm9tLT5k YXRhLA0KKwkJCQkJIGVlcHJvbS0+bGVuZ3RoLCBlZXByb20tPm9mZnNldCk7DQogfQ0KIA0KIHN0 YXRpYyBpbnQNCiBhdGxfZGV2X3NldF9lZXByb20oc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHN0 cnVjdCBydGVfZGV2X2VlcHJvbV9pbmZvICplZXByb20pDQogew0KIAlzdHJ1Y3QgYXFfaHdfcyAq aHcgPSBBVExfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQorCWlu dCBkZXZfYWRkciA9IFNNQlVTX0RFVklDRV9JRDsNCiANCiAJaWYgKGh3LT5hcV9md19vcHMtPnNl dF9lZXByb20gPT0gTlVMTCkNCiAJCXJldHVybiAtRU5PVFNVUDsNCiANCi0JaWYgKGVlcHJvbS0+ bGVuZ3RoICE9IFNGUF9FRVBST01fU0laRSB8fCBlZXByb20tPmRhdGEgPT0gTlVMTCkNCisJaWYg KGVlcHJvbS0+bGVuZ3RoICsgZWVwcm9tLT5vZmZzZXQgPiBTRlBfRUVQUk9NX1NJWkUgfHwNCisJ ICAgIGVlcHJvbS0+ZGF0YSA9PSBOVUxMKQ0KIAkJcmV0dXJuIC1FSU5WQUw7DQogDQotCXJldHVy biBody0+YXFfZndfb3BzLT5zZXRfZWVwcm9tKGh3LCBlZXByb20tPmRhdGEsIGVlcHJvbS0+bGVu Z3RoKTsNCisJaWYgKGVlcHJvbS0+bWFnaWMpDQorCQlkZXZfYWRkciA9IGVlcHJvbS0+bWFnaWM7 DQorDQorCXJldHVybiBody0+YXFfZndfb3BzLT5zZXRfZWVwcm9tKGh3LCBkZXZfYWRkciwgZWVw cm9tLT5kYXRhLA0KKwkJCQkJIGVlcHJvbS0+bGVuZ3RoLCBlZXByb20tPm9mZnNldCk7DQogfQ0K IA0KIHN0YXRpYyBpbnQNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9hdGxhbnRpYy9hdGxfdHlw ZXMuaCBiL2RyaXZlcnMvbmV0L2F0bGFudGljL2F0bF90eXBlcy5oDQppbmRleCAzZDkwZjZjYWVm YzIuLjk2NjIyNzQ1ZDQ5NSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2F0bGFudGljL2F0bF90 eXBlcy5oDQorKysgYi9kcml2ZXJzL25ldC9hdGxhbnRpYy9hdGxfdHlwZXMuaA0KQEAgLTEzNyw5 ICsxMzcsMTEgQEAgc3RydWN0IGFxX2Z3X29wcyB7DQogDQogCWludCAoKmxlZF9jb250cm9sKShz dHJ1Y3QgYXFfaHdfcyAqc2VsZiwgdTMyIG1vZGUpOw0KIA0KLQlpbnQgKCpnZXRfZWVwcm9tKShz dHJ1Y3QgYXFfaHdfcyAqc2VsZiwgdTMyICpkYXRhLCB1MzIgbGVuKTsNCisJaW50ICgqZ2V0X2Vl cHJvbSkoc3RydWN0IGFxX2h3X3MgKnNlbGYsIGludCBkZXZfYWRkciwNCisJCQl1MzIgKmRhdGEs IHUzMiBsZW4sIHUzMiBvZmZzZXQpOw0KIA0KLQlpbnQgKCpzZXRfZWVwcm9tKShzdHJ1Y3QgYXFf aHdfcyAqc2VsZiwgdTMyICpkYXRhLCB1MzIgbGVuKTsNCisJaW50ICgqc2V0X2VlcHJvbSkoc3Ry dWN0IGFxX2h3X3MgKnNlbGYsIGludCBkZXZfYWRkciwNCisJCQl1MzIgKmRhdGEsIHUzMiBsZW4s IHUzMiBvZmZzZXQpOw0KIH07DQogDQogc3RydWN0IGF0bF9zd19zdGF0cyB7DQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF91dGlscy5oIGIvZHJpdmVycy9u ZXQvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF91dGlscy5oDQppbmRleCA1ZjNmNzA4NDczMTAuLmIx ZjAzZjQyZThiOCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2F0bGFudGljL2h3X2F0bC9od19h dGxfdXRpbHMuaA0KKysrIGIvZHJpdmVycy9uZXQvYXRsYW50aWMvaHdfYXRsL2h3X2F0bF91dGls cy5oDQpAQCAtMzM2LDE1ICszMzYsOCBAQCBzdHJ1Y3Qgb2ZmbG9hZF9pbmZvIHsNCiAJdTggYnVm WzBdOw0KIH0gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOw0KIA0KLXN0cnVjdCBzbWJ1c19y ZWFkX3JlcXVlc3Qgew0KLQl1MzIgb2Zmc2V0OyAvKiBub3QgdXNlZCAqLw0KLQl1MzIgZGV2aWNl X2lkOw0KLQl1MzIgYWRkcmVzczsNCi0JdTMyIGxlbmd0aDsNCi19IF9fYXR0cmlidXRlX18oKF9f cGFja2VkX18pKTsNCi0NCi1zdHJ1Y3Qgc21idXNfd3JpdGVfcmVxdWVzdCB7DQotCXUzMiBvZmZz ZXQ7IC8qIG5vdCB1c2VkICovDQorc3RydWN0IHNtYnVzX3JlcXVlc3Qgew0KKwl1MzIgbXNnX2lk OyAvKiBub3QgdXNlZCAqLw0KIAl1MzIgZGV2aWNlX2lkOw0KIAl1MzIgYWRkcmVzczsNCiAJdTMy IGxlbmd0aDsNCkBAIC0zODksOCArMzgyLDYgQEAgZW51bSBoYWxfYXRsX3V0aWxzX2Z3X3N0YXRl X2Ugew0KICNkZWZpbmUgSEFMX0FUTEFOVElDX1VUSUxTX0ZXX01TR19PRkZMT0FEX0RFTCAgMTBV DQogI2RlZmluZSBIQUxfQVRMQU5USUNfVVRJTFNfRldfTVNHX0NBQkxFX0RJQUcgICAxM1UgLy8g MHhkDQogDQotI2RlZmluZSBTTUJVU19SRUFEX1JFUVVFU1QgQklUKDEzKQ0KLSNkZWZpbmUgU01C VVNfV1JJVEVfUkVRVUVTVCBCSVQoMTQpDQogI2RlZmluZSBTTUJVU19ERVZJQ0VfSUQgMHg1MA0K IA0KIGVudW0gaHdfYXRsX2Z3MnhfcmF0ZSB7DQpAQCAtNDE0LDYgKzQwNSw5IEBAIGVudW0gaHdf YXRsX2Z3MnhfY2Fwc19sbyB7DQogCUNBUFNfTE9fMlA1R0JBU0VUX0ZELA0KIAlDQVBTX0xPXzVH QkFTRVRfRkQsDQogCUNBUFNfTE9fMTBHQkFTRVRfRkQsDQorCUNBUFNfTE9fQVVUT05FRywNCisJ Q0FQU19MT19TTUJVU19SRUFELA0KKwlDQVBTX0xPX1NNQlVTX1dSSVRFLA0KIH07DQogDQogZW51 bSBod19hdGxfZncyeF9jYXBzX2hpIHsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9hdGxhbnRp Yy9od19hdGwvaHdfYXRsX3V0aWxzX2Z3MnguYyBiL2RyaXZlcnMvbmV0L2F0bGFudGljL2h3X2F0 bC9od19hdGxfdXRpbHNfZncyeC5jDQppbmRleCA0ZDg1MGQzOTc0MTYuLjlkNjlmMmQ3OGZiNSAx MDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2F0bGFudGljL2h3X2F0bC9od19hdGxfdXRpbHNfZncy eC5jDQorKysgYi9kcml2ZXJzL25ldC9hdGxhbnRpYy9od19hdGwvaHdfYXRsX3V0aWxzX2Z3Mngu Yw0KQEAgLTQ4NCwxOCArNDg0LDIyIEBAIHN0YXRpYyBpbnQgYXFfZncyeF9sZWRfY29udHJvbChz dHJ1Y3QgYXFfaHdfcyAqc2VsZiwgdTMyIG1vZGUpDQogCXJldHVybiAwOw0KIH0NCiANCi1zdGF0 aWMgaW50IGFxX2Z3MnhfZ2V0X2VlcHJvbShzdHJ1Y3QgYXFfaHdfcyAqc2VsZiwgdTMyICpkYXRh LCB1MzIgbGVuKQ0KK3N0YXRpYyBpbnQgYXFfZncyeF9nZXRfZWVwcm9tKHN0cnVjdCBhcV9od19z ICpzZWxmLCBpbnQgZGV2X2FkZHIsDQorCQkJICAgICAgdTMyICpkYXRhLCB1MzIgbGVuLCB1MzIg b2Zmc2V0KQ0KIHsNCi0JaW50IGVyciA9IDA7DQotCXN0cnVjdCBzbWJ1c19yZWFkX3JlcXVlc3Qg cmVxdWVzdDsNCi0JdTMyIG1waV9vcHRzOw0KKwl1MzIgYnl0ZXNfcmVtYWlucyA9IGxlbiAlIHNp emVvZih1MzIpOw0KKwl1MzIgbnVtX2R3b3JkcyA9IGxlbiAvIHNpemVvZih1MzIpOw0KKwlzdHJ1 Y3Qgc21idXNfcmVxdWVzdCByZXF1ZXN0Ow0KIAl1MzIgcmVzdWx0ID0gMDsNCisJdTMyIG1waV9v cHRzOw0KKwlpbnQgZXJyID0gMDsNCiANCiAJaWYgKHNlbGYtPmZ3X3Zlcl9hY3R1YWwgPCBIV19B VExfRldfRkVBVFVSRV9FRVBST00pDQogCQlyZXR1cm4gLUVPUE5PVFNVUFA7DQogDQotCXJlcXVl c3QuZGV2aWNlX2lkID0gU01CVVNfREVWSUNFX0lEOw0KLQlyZXF1ZXN0LmFkZHJlc3MgPSAwOw0K KwlyZXF1ZXN0Lm1zZ19pZCA9IDA7DQorCXJlcXVlc3QuZGV2aWNlX2lkID0gZGV2X2FkZHI7DQor CXJlcXVlc3QuYWRkcmVzcyA9IG9mZnNldDsNCiAJcmVxdWVzdC5sZW5ndGggPSBsZW47DQogDQog CS8qIFdyaXRlIFNNQlVTIHJlcXVlc3QgdG8gY2ZnIG1lbW9yeSAqLw0KQEAgLTUwNiwxNiArNTEw LDE2IEBAIHN0YXRpYyBpbnQgYXFfZncyeF9nZXRfZWVwcm9tKHN0cnVjdCBhcV9od19zICpzZWxm LCB1MzIgKmRhdGEsIHUzMiBsZW4pDQogCWlmIChlcnIgPCAwKQ0KIAkJcmV0dXJuIGVycjsNCiAN Ci0JLyogVG9nZ2xlIDB4MzY4LlNNQlVTX1JFQURfUkVRVUVTVCBiaXQgKi8NCisJLyogVG9nZ2xl IDB4MzY4LkNBUFNfTE9fU01CVVNfUkVBRCBiaXQgKi8NCiAJbXBpX29wdHMgPSBhcV9od19yZWFk X3JlZyhzZWxmLCBIV19BVExfRlcyWF9NUElfQ09OVFJPTF9BRERSKTsNCi0JbXBpX29wdHMgXj0g U01CVVNfUkVBRF9SRVFVRVNUOw0KKwltcGlfb3B0cyBePSBCSVQoQ0FQU19MT19TTUJVU19SRUFE KTsNCiANCiAJYXFfaHdfd3JpdGVfcmVnKHNlbGYsIEhXX0FUTF9GVzJYX01QSV9DT05UUk9MX0FE RFIsIG1waV9vcHRzKTsNCiANCiAJLyogV2FpdCB1bnRpbCBSRVFVRVNUX0JJVCBtYXRjaGVkIGlu IDB4MzcwICovDQogDQogCUFRX0hXX1dBSVRfRk9SKChhcV9od19yZWFkX3JlZyhzZWxmLCBIV19B VExfRlcyWF9NUElfU1RBVEVfQUREUikgJg0KLQkJU01CVVNfUkVBRF9SRVFVRVNUKSA9PSAobXBp X29wdHMgJiBTTUJVU19SRUFEX1JFUVVFU1QpLA0KKwkJQklUKENBUFNfTE9fU01CVVNfUkVBRCkp ID09IChtcGlfb3B0cyAmIEJJVChDQVBTX0xPX1NNQlVTX1JFQUQpKSwNCiAJCTEwVSwgMTAwMDBV KTsNCiANCiAJaWYgKGVyciA8IDApDQpAQCAtNTI4LDUxICs1MzIsNTIgQEAgc3RhdGljIGludCBh cV9mdzJ4X2dldF9lZXByb20oc3RydWN0IGFxX2h3X3MgKnNlbGYsIHUzMiAqZGF0YSwgdTMyIGxl bikNCiAJaWYgKGVyciA8IDApDQogCQlyZXR1cm4gZXJyOw0KIA0KLQlpZiAocmVzdWx0ID09IDAp IHsNCi0JCXUzMiBudW1fZHdvcmRzID0gbGVuIC8gc2l6ZW9mKHUzMik7DQotCQl1MzIgYnl0ZXNf cmVtYWlucyA9IGxlbiAlIHNpemVvZih1MzIpOw0KKwlpZiAocmVzdWx0KQ0KKwkJcmV0dXJuIC1F SU87DQogDQotCQlpZiAobnVtX2R3b3Jkcykgew0KLQkJCWVyciA9IGh3X2F0bF91dGlsc19md19k b3dubGRfZHdvcmRzKHNlbGYsDQotCQkJCXNlbGYtPnJwY19hZGRyICsgc2l6ZW9mKHUzMikgKiAy LA0KLQkJCQlkYXRhLA0KLQkJCQludW1fZHdvcmRzKTsNCisJaWYgKG51bV9kd29yZHMpIHsNCisJ CWVyciA9IGh3X2F0bF91dGlsc19md19kb3dubGRfZHdvcmRzKHNlbGYsDQorCQkJc2VsZi0+cnBj X2FkZHIgKyBzaXplb2YodTMyKSAqIDIsDQorCQkJZGF0YSwNCisJCQludW1fZHdvcmRzKTsNCiAN Ci0JCQlpZiAoZXJyIDwgMCkNCi0JCQkJcmV0dXJuIGVycjsNCi0JCX0NCisJCWlmIChlcnIgPCAw KQ0KKwkJCXJldHVybiBlcnI7DQorCX0NCiANCi0JCWlmIChieXRlc19yZW1haW5zKSB7DQotCQkJ dTMyIHZhbCA9IDA7DQorCWlmIChieXRlc19yZW1haW5zKSB7DQorCQl1MzIgdmFsID0gMDsNCiAN Ci0JCQllcnIgPSBod19hdGxfdXRpbHNfZndfZG93bmxkX2R3b3JkcyhzZWxmLA0KLQkJCQlzZWxm LT5ycGNfYWRkciArIHNpemVvZih1MzIpICogMiArIG51bV9kd29yZHMsDQotCQkJCSZ2YWwsDQot CQkJCXNpemVvZih1MzIpKTsNCisJCWVyciA9IGh3X2F0bF91dGlsc19md19kb3dubGRfZHdvcmRz KHNlbGYsDQorCQkJc2VsZi0+cnBjX2FkZHIgKyAoc2l6ZW9mKHUzMikgKiAyKSArDQorCQkJKG51 bV9kd29yZHMgKiBzaXplb2YodTMyKSksDQorCQkJJnZhbCwNCisJCQkxKTsNCiANCi0JCQlpZiAo ZXJyIDwgMCkNCi0JCQkJcmV0dXJuIGVycjsNCisJCWlmIChlcnIgPCAwKQ0KKwkJCXJldHVybiBl cnI7DQogDQotCQkJcnRlX21lbWNweSgodTggKilkYXRhICsgbGVuIC0gYnl0ZXNfcmVtYWlucywN Ci0JCQkJICAgJnZhbCwgYnl0ZXNfcmVtYWlucyk7DQotCQl9DQorCQlydGVfbWVtY3B5KCh1OCAq KWRhdGEgKyBsZW4gLSBieXRlc19yZW1haW5zLA0KKwkJCQkmdmFsLCBieXRlc19yZW1haW5zKTsN CiAJfQ0KIA0KIAlyZXR1cm4gMDsNCiB9DQogDQogDQotc3RhdGljIGludCBhcV9mdzJ4X3NldF9l ZXByb20oc3RydWN0IGFxX2h3X3MgKnNlbGYsIHUzMiAqZGF0YSwgdTMyIGxlbikNCitzdGF0aWMg aW50IGFxX2Z3Mnhfc2V0X2VlcHJvbShzdHJ1Y3QgYXFfaHdfcyAqc2VsZiwgaW50IGRldl9hZGRy LA0KKwkJCSAgICAgIHUzMiAqZGF0YSwgdTMyIGxlbiwgdTMyIG9mZnNldCkNCiB7DQotCXN0cnVj dCBzbWJ1c193cml0ZV9yZXF1ZXN0IHJlcXVlc3Q7DQorCXN0cnVjdCBzbWJ1c19yZXF1ZXN0IHJl cXVlc3Q7DQogCXUzMiBtcGlfb3B0cywgcmVzdWx0ID0gMDsNCiAJaW50IGVyciA9IDA7DQogDQog CWlmIChzZWxmLT5md192ZXJfYWN0dWFsIDwgSFdfQVRMX0ZXX0ZFQVRVUkVfRUVQUk9NKQ0KIAkJ cmV0dXJuIC1FT1BOT1RTVVBQOw0KIA0KLQlyZXF1ZXN0LmRldmljZV9pZCA9IFNNQlVTX0RFVklD RV9JRDsNCi0JcmVxdWVzdC5hZGRyZXNzID0gMDsNCisJcmVxdWVzdC5tc2dfaWQgPSAwOw0KKwly ZXF1ZXN0LmRldmljZV9pZCA9IGRldl9hZGRyOw0KKwlyZXF1ZXN0LmFkZHJlc3MgPSBvZmZzZXQ7 DQogCXJlcXVlc3QubGVuZ3RoID0gbGVuOw0KIA0KIAkvKiBXcml0ZSBTTUJVUyByZXF1ZXN0IHRv IGNmZyBtZW1vcnkgKi8NCkBAIC01ODQsMjMgKzU4OSw0NCBAQCBzdGF0aWMgaW50IGFxX2Z3Mnhf c2V0X2VlcHJvbShzdHJ1Y3QgYXFfaHdfcyAqc2VsZiwgdTMyICpkYXRhLCB1MzIgbGVuKQ0KIAkJ cmV0dXJuIGVycjsNCiANCiAJLyogV3JpdGUgU01CVVMgZGF0YSB0byBjZmcgbWVtb3J5ICovDQot CWVyciA9IGh3X2F0bF91dGlsc19md191cGxvYWRfZHdvcmRzKHNlbGYsDQotCQkJCXNlbGYtPnJw Y19hZGRyICsgc2l6ZW9mKHJlcXVlc3QpLA0KLQkJCQkodTMyICopKHZvaWQgKilkYXRhLA0KLQkJ CQlSVEVfQUxJR04obGVuLCBzaXplb2YodTMyKSkpOw0KKwl1MzIgbnVtX2R3b3JkcyA9IGxlbiAv IHNpemVvZih1MzIpOw0KKwl1MzIgYnl0ZXNfcmVtYWlucyA9IGxlbiAlIHNpemVvZih1MzIpOw0K IA0KLQlpZiAoZXJyIDwgMCkNCi0JCXJldHVybiBlcnI7DQorCWlmIChudW1fZHdvcmRzKSB7DQor CQllcnIgPSBod19hdGxfdXRpbHNfZndfdXBsb2FkX2R3b3JkcyhzZWxmLA0KKwkJCXNlbGYtPnJw Y19hZGRyICsgc2l6ZW9mKHJlcXVlc3QpLA0KKwkJCSh1MzIgKikodm9pZCAqKWRhdGEsDQorCQkJ bnVtX2R3b3Jkcyk7DQogDQotCS8qIFRvZ2dsZSAweDM2OC5TTUJVU19XUklURV9SRVFVRVNUIGJp dCAqLw0KKwkJaWYgKGVyciA8IDApDQorCQkJcmV0dXJuIGVycjsNCisJfQ0KKw0KKwlpZiAoYnl0 ZXNfcmVtYWlucykgew0KKwkJdTMyIHZhbCA9IDA7DQorDQorCQlydGVfbWVtY3B5KCZ2YWwsICh1 OCAqKWRhdGEgKyAoc2l6ZW9mKHUzMikgKiBudW1fZHdvcmRzKSwNCisJCQkgICBieXRlc19yZW1h aW5zKTsNCisNCisJCWVyciA9IGh3X2F0bF91dGlsc19md191cGxvYWRfZHdvcmRzKHNlbGYsDQor CQkJc2VsZi0+cnBjX2FkZHIgKyBzaXplb2YocmVxdWVzdCkgKw0KKwkJCShudW1fZHdvcmRzICog c2l6ZW9mKHUzMikpLA0KKwkJCSZ2YWwsDQorCQkJMSk7DQorDQorCQlpZiAoZXJyIDwgMCkNCisJ CQlyZXR1cm4gZXJyOw0KKwl9DQorDQorCS8qIFRvZ2dsZSAweDM2OC5DQVBTX0xPX1NNQlVTX1dS SVRFIGJpdCAqLw0KIAltcGlfb3B0cyA9IGFxX2h3X3JlYWRfcmVnKHNlbGYsIEhXX0FUTF9GVzJY X01QSV9DT05UUk9MX0FERFIpOw0KLQltcGlfb3B0cyBePSBTTUJVU19XUklURV9SRVFVRVNUOw0K KwltcGlfb3B0cyBePSBCSVQoQ0FQU19MT19TTUJVU19XUklURSk7DQogDQogCWFxX2h3X3dyaXRl X3JlZyhzZWxmLCBIV19BVExfRlcyWF9NUElfQ09OVFJPTF9BRERSLCBtcGlfb3B0cyk7DQogDQog CS8qIFdhaXQgdW50aWwgUkVRVUVTVF9CSVQgbWF0Y2hlZCBpbiAweDM3MCAqLw0KIAlBUV9IV19X QUlUX0ZPUigoYXFfaHdfcmVhZF9yZWcoc2VsZiwgSFdfQVRMX0ZXMlhfTVBJX1NUQVRFX0FERFIp ICYNCi0JCVNNQlVTX1dSSVRFX1JFUVVFU1QpID09IChtcGlfb3B0cyAmIFNNQlVTX1dSSVRFX1JF UVVFU1QpLA0KKwkJQklUKENBUFNfTE9fU01CVVNfV1JJVEUpKSA9PSAobXBpX29wdHMgJiBCSVQo Q0FQU19MT19TTUJVU19XUklURSkpLA0KIAkJMTBVLCAxMDAwMFUpOw0KIA0KIAlpZiAoZXJyIDwg MCkNCkBAIC02MTQsNiArNjQwLDkgQEAgc3RhdGljIGludCBhcV9mdzJ4X3NldF9lZXByb20oc3Ry dWN0IGFxX2h3X3MgKnNlbGYsIHUzMiAqZGF0YSwgdTMyIGxlbikNCiAJaWYgKGVyciA8IDApDQog CQlyZXR1cm4gZXJyOw0KIA0KKwlpZiAocmVzdWx0KQ0KKwkJcmV0dXJuIC1FSU87DQorDQogCXJl dHVybiAwOw0KIH0NCiANCi0tIA0KMi4xNy4xDQoNCg==