2022-06-16 16:22:11

by Ivan Vecera

[permalink] [raw]
Subject: [PATCH net] ethtool: Fix get module eeprom fallback

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")
Cc: Ido Schimmel <[email protected]>
Signed-off-by: Ivan Vecera <[email protected]>
---
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


2022-06-17 13:25:39

by Ido Schimmel

[permalink] [raw]
Subject: Re: [PATCH net] ethtool: Fix get module eeprom fallback

On Thu, Jun 16, 2022 at 06:08:55PM +0200, Ivan Vecera wrote:
> 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")
> Cc: Ido Schimmel <[email protected]>
> Signed-off-by: Ivan Vecera <[email protected]>

All the drivers that report ETH_MODULE_SFF_8079 also report a length of
ETH_MODULE_SFF_8079_LEN, which means they are only accessing I2C address
0x50.

Reviewed-by: Ido Schimmel <[email protected]>

2022-06-18 03:41:13

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH net] ethtool: Fix get module eeprom fallback

Hello:

This patch was applied to netdev/net.git (master)
by Jakub Kicinski <[email protected]>:

On Thu, 16 Jun 2022 18:08:55 +0200 you wrote:
> 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")
> Cc: Ido Schimmel <[email protected]>
> Signed-off-by: Ivan Vecera <[email protected]>
>
> [...]

Here is the summary with links:
- [net] ethtool: Fix get module eeprom fallback
https://git.kernel.org/netdev/net/c/a3bb7b63813f

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html