]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net/mlx5: Disable eswitch before waiting for VF pages
authorDaniel Jurgens <danielj@nvidia.com>
Wed, 19 Oct 2022 21:13:50 +0000 (00:13 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Mar 2023 12:33:48 +0000 (13:33 +0100)
[ Upstream commit 5998144955d5ec881cb61849571da0c101a33471 ]

The offending commit changed the ordering of moving to legacy mode and
waiting for the VF pages. Moving to legacy mode is important in
bluefield, because it sends the host driver into error state, and frees
its pages. Without this transition we end up waiting 2 minutes for
pages that aren't coming before carrying on with the unload process.

Fixes: da5c5f25de4b ("net/mlx5: E-switch, Remove dependency between sriov and eswitch mode")
Signed-off-by: Daniel Jurgens <danielj@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

index f07175549a87d7b678539ca19d4b6fe3bc86ed12..51c3e86f71a944ef3399efb024d842e3bfe0a76d 100644 (file)
@@ -1339,8 +1339,8 @@ err_irq_table:
 static void mlx5_unload(struct mlx5_core_dev *dev)
 {
        mlx5_sf_dev_table_destroy(dev);
-       mlx5_sriov_detach(dev);
        mlx5_eswitch_disable(dev->priv.eswitch);
+       mlx5_sriov_detach(dev);
        mlx5_lag_remove_mdev(dev);
        mlx5_ec_cleanup(dev);
        mlx5_sf_hw_table_destroy(dev);