summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c
diff options
context:
space:
mode:
authorMoshe Shemesh <moshe@nvidia.com>2021-04-08 07:30:57 +0300
committerSaeed Mahameed <saeedm@nvidia.com>2021-06-01 18:30:20 -0700
commit5940e64281c09976ce2b560244217e610bf9d029 (patch)
tree7ef80a7e049ce70748aa4e8cb9ec3e55f4376fa5 /drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c
parentb38742e41177c339e891b74f3925862fa36debb1 (diff)
downloadlinux-stable-5940e64281c09976ce2b560244217e610bf9d029.tar.gz
linux-stable-5940e64281c09976ce2b560244217e610bf9d029.tar.bz2
linux-stable-5940e64281c09976ce2b560244217e610bf9d029.zip
net/mlx5: Check firmware sync reset requested is set before trying to abort it
In case driver sent NACK to firmware on sync reset request, it will get sync reset abort event while it didn't set sync reset requested mode. Thus, on abort sync reset event handler, driver should check reset requested is set before trying to stop sync reset poll. Fixes: 7dd6df329d4c ("net/mlx5: Handle sync reset abort event") Signed-off-by: Moshe Shemesh <moshe@nvidia.com> Reviewed-by: Tariq Toukan <tariqt@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c')
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c b/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c
index d5d57630015f..106b50e42b46 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c
@@ -349,6 +349,9 @@ static void mlx5_sync_reset_abort_event(struct work_struct *work)
reset_abort_work);
struct mlx5_core_dev *dev = fw_reset->dev;
+ if (!test_bit(MLX5_FW_RESET_FLAGS_RESET_REQUESTED, &fw_reset->reset_flags))
+ return;
+
mlx5_sync_reset_clear_reset_requested(dev, true);
mlx5_core_warn(dev, "PCI Sync FW Update Reset Aborted.\n");
}