[dpdk-stable] patch 'net/atlantic: fix EEPROM get for small and uneven lengths' has been queued to LTS release 18.11.2

Kevin Traynor ktraynor at redhat.com
Tue Apr 16 16:36:41 CEST 2019


Hi,

FYI, your patch has been queued to LTS release 18.11.2

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 04/24/19. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Kevin Traynor

---
>From b5e5bd079a0408e5eb5b11bc70cd9d567235bca9 Mon Sep 17 00:00:00 2001
From: Pavel Belous <pavel.belous at aquantia.com>
Date: Tue, 12 Mar 2019 15:25:01 +0000
Subject: [PATCH] net/atlantic: fix EEPROM get for small and uneven lengths

[ upstream commit d940a707858981efc376ff9a8552270437fc7272 ]

Fixes: ce4e8d418097 ("net/atlantic: implement EEPROM get/set")

Signed-off-by: Igor Russkikh <igor.russkikh at aquantia.com>
Signed-off-by: Pavel Belous <pavel.belous at aquantia.com>
---
 .../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 f90ccfe9e..4d850d397 100644
--- a/drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c
+++ b/drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c
@@ -530,11 +530,31 @@ static int aq_fw2x_get_eeprom(struct aq_hw_s *self, u32 *data, u32 len)
 
 	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);
+		}
 	}
 
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-04-16 15:34:26.238872529 +0100
+++ 0023-net-atlantic-fix-EEPROM-get-for-small-and-uneven-len.patch	2019-04-16 15:34:25.167180238 +0100
@@ -1,10 +1,11 @@
-From d940a707858981efc376ff9a8552270437fc7272 Mon Sep 17 00:00:00 2001
+From b5e5bd079a0408e5eb5b11bc70cd9d567235bca9 Mon Sep 17 00:00:00 2001
 From: Pavel Belous <pavel.belous at aquantia.com>
 Date: Tue, 12 Mar 2019 15:25:01 +0000
 Subject: [PATCH] net/atlantic: fix EEPROM get for small and uneven lengths
 
+[ upstream commit d940a707858981efc376ff9a8552270437fc7272 ]
+
 Fixes: ce4e8d418097 ("net/atlantic: implement EEPROM get/set")
-Cc: stable at dpdk.org
 
 Signed-off-by: Igor Russkikh <igor.russkikh at aquantia.com>
 Signed-off-by: Pavel Belous <pavel.belous at aquantia.com>
@@ -13,10 +14,10 @@
  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 1d9190155..f215ceb70 100644
+index f90ccfe9e..4d850d397 100644
 --- a/drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c
 +++ b/drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c
-@@ -535,11 +535,31 @@ static int aq_fw2x_get_eeprom(struct aq_hw_s *self, int dev_addr,
+@@ -530,11 +530,31 @@ static int aq_fw2x_get_eeprom(struct aq_hw_s *self, u32 *data, u32 len)
  
  	if (result == 0) {
 -		err = hw_atl_utils_fw_downld_dwords(self,


More information about the stable mailing list