| From foo@baz Sun Nov 22 12:00:04 PM CET 2020 |
| From: Edwin Peer <edwin.peer@broadcom.com> |
| Date: Sun, 15 Nov 2020 19:27:49 -0500 |
| Subject: bnxt_en: read EEPROM A2h address using page 0 |
| |
| From: Edwin Peer <edwin.peer@broadcom.com> |
| |
| [ Upstream commit 4260330b32b14330cfe427d568ac5f5b29b5be3d ] |
| |
| The module eeprom address range returned by bnxt_get_module_eeprom() |
| should be 256 bytes of A0h address space, the lower half of the A2h |
| address space, and page 0 for the upper half of the A2h address space. |
| |
| Fix the firmware call by passing page_number 0 for the A2h slave address |
| space. |
| |
| Fixes: 42ee18fe4ca2 ("bnxt_en: Add Support for ETHTOOL_GMODULEINFO and ETHTOOL_GMODULEEEPRO") |
| Signed-off-by: Edwin Peer <edwin.peer@broadcom.com> |
| Signed-off-by: Michael Chan <michael.chan@broadcom.com> |
| Signed-off-by: Jakub Kicinski <kuba@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c |
| +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c |
| @@ -2300,7 +2300,7 @@ static int bnxt_get_module_eeprom(struct |
| /* Read A2 portion of the EEPROM */ |
| if (length) { |
| start -= ETH_MODULE_SFF_8436_LEN; |
| - rc = bnxt_read_sfp_module_eeprom_info(bp, I2C_DEV_ADDR_A2, 1, |
| + rc = bnxt_read_sfp_module_eeprom_info(bp, I2C_DEV_ADDR_A2, 0, |
| start, length, data); |
| } |
| return rc; |