| From b42b3d6ffe1c2d25993e4613850fee8d6ab8fcac Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 16 Jun 2022 18:08:55 +0200 |
| Subject: ethtool: Fix get module eeprom fallback |
| |
| From: Ivan Vecera <ivecera@redhat.com> |
| |
| [ Upstream commit a3bb7b63813f674fb62bac321cdd897cc62de094 ] |
| |
| Function fallback_set_params() checks if the module type returned |
| by a driver is ETH_MODULE_SFF_8079 and in this case it assumes |
| that buffer returns a concatenated content of page A0h and A2h. |
| The check is wrong because the correct type is ETH_MODULE_SFF_8472. |
| |
| Fixes: 96d971e307cc ("ethtool: Add fallback to get_module_eeprom from netlink command") |
| Signed-off-by: Ivan Vecera <ivecera@redhat.com> |
| Reviewed-by: Ido Schimmel <idosch@nvidia.com> |
| Link: https://lore.kernel.org/r/20220616160856.3623273-1-ivecera@redhat.com |
| Signed-off-by: Jakub Kicinski <kuba@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| net/ethtool/eeprom.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/net/ethtool/eeprom.c b/net/ethtool/eeprom.c |
| index 7e6b37a54add..1c94bb8ea03f 100644 |
| --- a/net/ethtool/eeprom.c |
| +++ b/net/ethtool/eeprom.c |
| @@ -36,7 +36,7 @@ static int fallback_set_params(struct eeprom_req_info *request, |
| if (request->page) |
| offset = request->page * ETH_MODULE_EEPROM_PAGE_LEN + offset; |
| |
| - if (modinfo->type == ETH_MODULE_SFF_8079 && |
| + if (modinfo->type == ETH_MODULE_SFF_8472 && |
| request->i2c_address == 0x51) |
| offset += ETH_MODULE_EEPROM_PAGE_LEN * 2; |
| |
| -- |
| 2.35.1 |
| |