]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-4.9/net-mlx5e-ethtool-remove-unsupported-sfp-eeprom-high-pages-query.patch
4.19-stable patches
[thirdparty/kernel/stable-queue.git] / queue-4.9 / net-mlx5e-ethtool-remove-unsupported-sfp-eeprom-high-pages-query.patch
1 From foo@baz Tue 30 Apr 2019 11:31:40 AM CEST
2 From: Erez Alfasi <ereza@mellanox.com>
3 Date: Thu, 11 Apr 2019 10:41:03 +0300
4 Subject: net/mlx5e: ethtool, Remove unsupported SFP EEPROM high pages query
5
6 From: Erez Alfasi <ereza@mellanox.com>
7
8 [ Upstream commit ace329f4ab3ba434be2adf618073c752d083b524 ]
9
10 Querying EEPROM high pages data for SFP module is currently
11 not supported by our driver and yet queried, resulting in
12 invalid FW queries.
13
14 Set the EEPROM ethtool data length to 256 for SFP module will
15 limit the reading for page 0 only and prevent invalid FW queries.
16
17 Fixes: bb64143eee8c ("net/mlx5e: Add ethtool support for dump module EEPROM")
18 Signed-off-by: Erez Alfasi <ereza@mellanox.com>
19 Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
20 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
21 ---
22 drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 2 +-
23 drivers/net/ethernet/mellanox/mlx5/core/port.c | 4 ----
24 2 files changed, 1 insertion(+), 5 deletions(-)
25
26 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
27 +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
28 @@ -1365,7 +1365,7 @@ static int mlx5e_get_module_info(struct
29 break;
30 case MLX5_MODULE_ID_SFP:
31 modinfo->type = ETH_MODULE_SFF_8472;
32 - modinfo->eeprom_len = ETH_MODULE_SFF_8472_LEN;
33 + modinfo->eeprom_len = MLX5_EEPROM_PAGE_LENGTH;
34 break;
35 default:
36 netdev_err(priv->netdev, "%s: cable type not recognized:0x%x\n",
37 --- a/drivers/net/ethernet/mellanox/mlx5/core/port.c
38 +++ b/drivers/net/ethernet/mellanox/mlx5/core/port.c
39 @@ -368,10 +368,6 @@ int mlx5_query_module_eeprom(struct mlx5
40 size -= offset + size - MLX5_EEPROM_PAGE_LENGTH;
41
42 i2c_addr = MLX5_I2C_ADDR_LOW;
43 - if (offset >= MLX5_EEPROM_PAGE_LENGTH) {
44 - i2c_addr = MLX5_I2C_ADDR_HIGH;
45 - offset -= MLX5_EEPROM_PAGE_LENGTH;
46 - }
47
48 MLX5_SET(mcia_reg, in, l, 0);
49 MLX5_SET(mcia_reg, in, module, module_num);