mlxsw: core: Prevent QSFP module initialization for old hardware
authorVadim Pasternak <vadimp@mellanox.com>
Sat, 18 May 2019 15:58:28 +0000 (18:58 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sat, 18 May 2019 20:13:40 +0000 (13:13 -0700)
commitc52ecff7e6439ca8c9b03282e8869a005aa94831
treecffa70b715b8591ee1c7b6b362ea942779839f0d
parentba95e5dfd36647622d8897a2a0470dde60e59ffd
mlxsw: core: Prevent QSFP module initialization for old hardware

Old Mellanox silicons, like switchx-2, switch-ib do not support reading
QSFP modules temperature through MTMP register. Attempt to access this
register on systems equipped with the this kind of silicon will cause
initialization flow failure.
Test for hardware resource capability is added in order to distinct
between old and new silicon - old silicons do not have such capability.

Fixes: 6a79507cfe94 ("mlxsw: core: Extend thermal module with per QSFP module thermal zones")
Fixes: 5c42eaa07bd0 ("mlxsw: core: Extend hwmon interface with QSFP module temperature attributes")
Reported-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Vadim Pasternak <vadimp@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/core.c
drivers/net/ethernet/mellanox/mlxsw/core.h
drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c
drivers/net/ethernet/mellanox/mlxsw/core_thermal.c