]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
mlxsw: core_env: Fix driver initialization with old firmware
authorIdo Schimmel <idosch@nvidia.com>
Thu, 18 Apr 2024 13:46:07 +0000 (15:46 +0200)
committerJakub Kicinski <kuba@kernel.org>
Sat, 20 Apr 2024 03:43:15 +0000 (20:43 -0700)
commit7e2050a8366315aeaf0316b3d362e67cf58f3ea8
tree7474bc4332c14fe3a5d0f98f123c7f180c28732c
parent976c44af48141cd8595601c0af2a19a43c5b228b
mlxsw: core_env: Fix driver initialization with old firmware

The driver queries the Management Capabilities Mask (MCAM) register
during initialization to understand if it can read up to 128 bytes from
transceiver modules.

However, not all firmware versions support this register, leading to the
driver failing to load.

Fix by treating an error in the register query as an indication that the
feature is not supported.

Fixes: 1f4aea1f72da ("mlxsw: core_env: Read transceiver module EEPROM in 128 bytes chunks")
Reported-by: Tim 'mithro' Ansell <me@mith.ro>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/0afa8b2e8bac178f5f88211344429176dcc72281.1713446092.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlxsw/core_env.c