From patchwork Sat Mar 9 14:03:34 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Igor Russkikh X-Patchwork-Id: 51008 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 79E524F98; Sat, 9 Mar 2019 15:03:38 +0100 (CET) Received: from NAM05-CO1-obe.outbound.protection.outlook.com (mail-eopbgr720043.outbound.protection.outlook.com [40.107.72.43]) by dpdk.org (Postfix) with ESMTP id D88AE4CBD; Sat, 9 Mar 2019 15:03:35 +0100 (CET) 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=q4+DJPYTJQxzSdb4fXcC1nBJWoojhxm1DylR0yF3Tts=; b=l+xS0u6pDIUt8tVDj5kNWEk/f644oKiZLCJajb3Qbct5iW28bTzU510iQ0dsLsKetGIPSnrmEtYumluv3kwjeNL5QYZDRjoaMVbPaMxPyG9nz/zJggMikncETRJAK7o+nmvYeS2wPUEz94qQFw9P5LDJ2Mi3y42Li+ETscx7vz4= Received: from DM6PR11MB3625.namprd11.prod.outlook.com (20.178.230.149) by DM6PR11MB2892.namprd11.prod.outlook.com (20.177.216.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1686.18; Sat, 9 Mar 2019 14:03:34 +0000 Received: from DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::d145:a1f4:ed34:e31b]) by DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::d145:a1f4:ed34:e31b%3]) with mapi id 15.20.1665.020; Sat, 9 Mar 2019 14:03:34 +0000 From: Igor Russkikh To: "dev@dpdk.org" CC: Pavel Belous , Igor Russkikh , "stable@dpdk.org" , Pavel Belous Thread-Topic: [PATCH v2 06/10] net/atlantic: fix EEPROM get for small and uneven lengths Thread-Index: AQHU1oDiHlEj9M8bzk62FFyT6fCeeg== Date: Sat, 9 Mar 2019 14:03:34 +0000 Message-ID: <5850449a9d75c21ee7b41a527f4e45c11d28e7ca.1552138867.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: HE1PR05CA0278.eurprd05.prod.outlook.com (2603:10a6:3:fc::30) 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: 7b08c8f6-1124-442f-768b-08d6a49804c0 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(2017052603328)(7153060)(7193020); SRVR:DM6PR11MB2892; x-ms-traffictypediagnostic: DM6PR11MB2892: x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; DM6PR11MB2892; 23:oR39Lvbbx2eis6GUzOua7h7EZop+FZRn1XlH6ua?= =?iso-8859-1?q?HxymTh8LqkGl8DRK9lRFFCWt8?= =?iso-8859-1?q?g65SC8Tfvp2btMjxdT/lxASWzNVq2MlD8wTLNFJs2dqaL6xN0ZA?= =?iso-8859-1?q?ovoB6ujdyK4iU6q9xr4bsZr3au+DKPaZyHR07T9tkugjh87aRL7?= =?iso-8859-1?q?p9kQ2tChaiytVyzcl0DJIQnvtlyzqgxbXHkk0W8kgfAwLHZm9IT?= =?iso-8859-1?q?ctzGQ7/47sK0MovlkGZipKTFaezLs+nqTN7G56Oyi2/px0/voPt?= =?iso-8859-1?q?JrE5MAQHOAWdaFg6IhkOgzyWXPyuKwbG9ECCkBdWz0cGDbY8iDf?= =?iso-8859-1?q?4KwMyFYazIw3ezj2lEGu9oMndxx73K2+jeZNHdZ6D++aqxrP8dD?= =?iso-8859-1?q?RxZ/RJu8sJVyrAGNGZ0ELFfJh3QoFAdNdJaT5q6SzQRpqAvccpX?= =?iso-8859-1?q?1s+gMFNof75RZDloF8QusAF+M3ywcUAsQnQR0xa2A6GMaV0/1W6?= =?iso-8859-1?q?PA/qxWLG08C+ztuicC8yGZgfROiGEcCd5Q2brtcqGQd8+ktUB9v?= =?iso-8859-1?q?5AxfRoHgNCLmoGKd97kASMcJN9fdj6ZYjixK26fzTgHbI4CpTV2?= =?iso-8859-1?q?HIBQsmQ1bhaPEFdjNOO3MvLe4Cf6TcKS8ap7aXSpkEmXdxaSOF8?= =?iso-8859-1?q?DGMl/tr2bmwL/y/9i8L+CSbDdTf4MR0njdBAX5l0PnYxoinR6uv?= =?iso-8859-1?q?YVSALUDwIN5Moysii4ojGCG54aFKgkTLruKbQR96ZLWpSoH4jwJ?= =?iso-8859-1?q?14njvAy/UQ+QlTX/mruasxjMjcGxM238sCTFtbPWOaueueWlXeI?= =?iso-8859-1?q?eh3HaDiHV7Qt2GnZkDlLO+Os60bUK5T6wSxRNaATKQkWypHCwc/?= =?iso-8859-1?q?Y+3pOhYRH32J9q1TmZ4DAivwd0ZmWY42+Vvrz5J0NUe4DbVqtFp?= =?iso-8859-1?q?lGV0bwRUB7bG2TSZV3DY4Wf3jQpjpmSC7ezjYkeISPk6NZVr3UA?= =?iso-8859-1?q?HTr2GVO/k1fHdc5/NIOpyL5T2m88Pg3DGmvCdEoy+eqc98XlrZR?= =?iso-8859-1?q?0zLwkHAuCE+J1YOliUdng0s6GA0Ko2RX3Knb8DSgRqtoYtX6XpA?= =?iso-8859-1?q?rFEhA2LrB3n5YLRDj8cdkSFWgUOTDn/tcGxxNrTczkdBcjQWg2o?= =?iso-8859-1?q?sbD0Pa+HcGaag4K6VxxsXkmGuw0Np041UTvOOtIMZUsTWkKOmdn?= =?iso-8859-1?q?UdQMjDQ2KyQZfp3RqfceDv7xqqCLqAwqXIAtxBMpbOCjo+Eu1mh?= =?iso-8859-1?q?nosimkQi8uodwUbq33mzYkPkt8BuGXyTflMqKGB1CaJQSHW8Cq1?= =?iso-8859-1?q?av7Cp1DmDTMO0kURlVNTx65DaTwmzUm1MssfNgyxE0YNjhI8t8w?= =?iso-8859-1?q?ba+4UMwUWlcXpK+7Yx0WvOvGvKCQV8LJTCiuH4XJ4FNqSAzpuL/?= =?iso-8859-1?q?C1cZjPwV2Q/CnfMM6pedDKlxaJYO4gaQr2/ebYxZgTLenvlg=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 0971922F40 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(376002)(366004)(39850400004)(136003)(346002)(199004)(189003)(106356001)(5660300002)(6116002)(26005)(4326008)(99286004)(52116002)(2906002)(3846002)(76176011)(107886003)(2351001)(105586002)(14454004)(102836004)(97736004)(476003)(68736007)(44832011)(386003)(186003)(486006)(11346002)(446003)(2616005)(6506007)(450100002)(25786009)(2501003)(86362001)(305945005)(7736002)(72206003)(8676002)(6486002)(256004)(118296001)(316002)(8936002)(66066001)(6436002)(81156014)(1730700003)(53936002)(5640700003)(81166006)(50226002)(71190400001)(6916009)(54906003)(36756003)(71200400001)(478600001)(6512007); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR11MB2892; 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: oEnP76kai4MyqNY21KE7GhygbXRFQrUQuXf6v610YEfiLlwt1Nbk0Ntf5U6YOpv4/4ekdrzqxJPQ+TCicTRYL2gmlea/stc0ip1Pk4aAcPh4A5AFEm3swOqAAq6z+lftltobsOoZY4Vhcp/S82buy+Xo4fXCDR/WYDQKmoXCSUnxq5K6XusK8TVYMNBf+AW2V04vYzW1nlCb87E3dVNsH3QSmSTAGwLL3Tt1znShxprk0LVJ1iv46fJryYSrmjASubAuk1wO09SoMzMNUab1gjAxU1d1dbrPnSRkFlhyETdbJg4ck2+6ZclY089+tdO7zPiaAFDenpdkEba3izcKvTkWe3oHNgq2Ys6CyhdYCUdLdfU5TZVUJ81P0M0bKX4e/9Y42bG6gATuRwy8KCOi4bD1wHCBZuQllhQY1VA7BSg= MIME-Version: 1.0 X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7b08c8f6-1124-442f-768b-08d6a49804c0 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Mar 2019 14:03:34.3355 (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: DM6PR11MB2892 Subject: [dpdk-dev] [PATCH v2 06/10] net/atlantic: fix EEPROM get for small and uneven lengths 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" From: Pavel Belous Fixes: ce4e8d418097 ("net/atlantic: implement EEPROM get/set") Cc: stable@dpdk.org Signed-off-by: Igor Russkikh Signed-off-by: Pavel Belous --- .../net/atlantic/hw_atl/hw_atl_utils_fw2x.c | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c b/drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c index 78ca1eb1faaa..dc619bfdd75e 100644 --- a/drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c +++ b/drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c @@ -534,13 +534,33 @@ static int aq_fw2x_get_eeprom(struct aq_hw_s *self, int dev_addr, return err; if (result == 0) { - err = hw_atl_utils_fw_downld_dwords(self, + u32 num_dwords = len / sizeof(u32); + u32 bytes_remains = len % sizeof(u32); + + if (num_dwords) { + err = hw_atl_utils_fw_downld_dwords(self, self->rpc_addr + sizeof(u32) * 2, data, - RTE_ALIGN(len, sizeof(u32))); + num_dwords); - if (err < 0) - return err; + if (err < 0) + return err; + } + + if (bytes_remains) { + u32 val = 0; + + err = hw_atl_utils_fw_downld_dwords(self, + self->rpc_addr + sizeof(u32) * 2 + num_dwords, + &val, + sizeof(u32)); + + if (err < 0) + return err; + + rte_memcpy((u8 *)data + len - bytes_remains, + &val, bytes_remains); + } } return 0;