The position of register values within i40e register dumps is
supposed to reflect the register addresses. These were not being
correctly calculated. 

Fixes: d9efd0136ac1 ("i40e: add EEPROM and registers dumping")

Signed-off-by: Remy Horton <remy.horton at intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index bc28d3c..fc3a1d0 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -9031,6 +9031,7 @@ static int i40e_get_regs(struct rte_eth_dev *dev,
                                        arr_idx2++) {
                                reg_offset = arr_idx * reg_info->stride1 +
                                        arr_idx2 * reg_info->stride2;
+                               reg_offset += reg_info->base_addr;
                                ptr_data[reg_offset >> 2] =
                                        i40e_read_rx_ctl(hw, reg_offset);
                        }
@@ -9046,6 +9047,7 @@ static int i40e_get_regs(struct rte_eth_dev *dev,
                                        arr_idx2++) {
                                reg_offset = arr_idx * reg_info->stride1 +
                                        arr_idx2 * reg_info->stride2;
+                               reg_offset += reg_info->base_addr;
                                ptr_data[reg_offset >> 2] =
                                        I40E_READ_REG(hw, reg_offset);
                        }
-- 
2.5.5

Reply via email to