From: Daniel Jurgens Date: Wed, 19 Oct 2022 21:13:50 +0000 (+0300) Subject: net/mlx5: Disable eswitch before waiting for VF pages X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=bec05b05e698848aa563ae0a741bb76f8fde4517;p=users%2Fjedix%2Flinux-maple.git net/mlx5: Disable eswitch before waiting for VF pages [ Upstream commit 7ba930fc25def6fd736abcdfa224272948a65cf7 ] 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: f019679ea5f2 ("net/mlx5: E-switch, Remove dependency between sriov and eswitch mode") Signed-off-by: Daniel Jurgens Signed-off-by: Saeed Mahameed Signed-off-by: Sasha Levin --- diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c index f07175549a87..51c3e86f71a9 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c @@ -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);