net/mlx5: Set BREAK_FW_WAIT flag first when removing driver
authorShay Drory <shayd@nvidia.com>
Tue, 28 Feb 2023 08:36:19 +0000 (10:36 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Mar 2023 12:33:49 +0000 (13:33 +0100)
commit555a9c6a191a9dbf1139f495abb7c9989d41c9dc
tree29d99f457600b96a1414ae1ebda17ae8da689157
parentb7350f8dbe0c2a1d4d3ad7c35b610abd3cb91750
net/mlx5: Set BREAK_FW_WAIT flag first when removing driver

[ Upstream commit 031a163f2c476adcb2c01e27a7d323e66174ac11 ]

Currently, BREAK_FW_WAIT flag is set after syncing with fw_reset.
However, fw_reset can call mlx5_load_one() which is waiting for fw
init bit and BREAK_FW_WAIT flag is intended to stop. e.g.: the driver
might wait on a loop it should exit.
Fix it by setting the flag before syncing with fw_reset.

Fixes: 8324a02c342a ("net/mlx5: Add exit route when waiting for FW")
Signed-off-by: Shay Drory <shayd@nvidia.com>
Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/main.c