LSE is not allowed to be switched off while the ixgbe driver is running. Some of the ixgbe_aci_get_link_info() callers called it with @ena_lse equal to false what was causing issues. There was a known issue when FW after being called by Redfish MGMT request to disable an interface wasn't able to notify the driver about link status change due to disabled LSE reception on the driver side. As a result driver exposed incorrect link status. There's no any requirement forcing to disable LSE either during configuring FC, either during setting PHY params. Force calling ixgbe_aci_get_link_info() with @ena_lse == true. Fixes: 4600cdf9f5ac ("ixgbe: Enable link management in E610 device") Reviewed-by: Aleksandr Loktionov Signed-off-by: Jedrzej Jagielski --- drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c index d451da68fd6d..54cc0f116e88 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c @@ -1913,7 +1913,7 @@ void ixgbe_fc_autoneg_e610(struct ixgbe_hw *hw) /* Get current link err. * Current FC mode will be stored in the hw context. */ - err = ixgbe_aci_get_link_info(hw, false, NULL); + err = ixgbe_aci_get_link_info(hw, true, NULL); if (err) goto no_autoneg; @@ -2219,7 +2219,7 @@ int ixgbe_setup_phy_link_e610(struct ixgbe_hw *hw) u64 phy_type_low = 0, phy_type_high = 0; int err; - err = ixgbe_aci_get_link_info(hw, false, NULL); + err = ixgbe_aci_get_link_info(hw, true, NULL); if (err) return err; -- 2.31.1