Commit 1cefa326 authored by Achiad Shochat's avatar Achiad Shochat Committed by David S. Miller

net/mlx5e: Disable async events before unregister_netdev()

It does not make sense to allow events while the netdev is
unregistered.
Signed-off-by: default avatarAchiad Shochat <achiad@mellanox.com>
Signed-off-by: default avatarAmir Vadai <amirv@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 40ab6a6e
...@@ -2138,6 +2138,8 @@ static void mlx5e_destroy_netdev(struct mlx5_core_dev *mdev, void *vpriv) ...@@ -2138,6 +2138,8 @@ static void mlx5e_destroy_netdev(struct mlx5_core_dev *mdev, void *vpriv)
struct mlx5e_priv *priv = vpriv; struct mlx5e_priv *priv = vpriv;
struct net_device *netdev = priv->netdev; struct net_device *netdev = priv->netdev;
mlx5e_disable_async_events(priv);
flush_scheduled_work();
unregister_netdev(netdev); unregister_netdev(netdev);
mlx5e_destroy_flow_tables(priv); mlx5e_destroy_flow_tables(priv);
mlx5e_destroy_tirs(priv); mlx5e_destroy_tirs(priv);
...@@ -2149,8 +2151,6 @@ static void mlx5e_destroy_netdev(struct mlx5_core_dev *mdev, void *vpriv) ...@@ -2149,8 +2151,6 @@ static void mlx5e_destroy_netdev(struct mlx5_core_dev *mdev, void *vpriv)
mlx5_dealloc_transport_domain(priv->mdev, priv->tdn); mlx5_dealloc_transport_domain(priv->mdev, priv->tdn);
mlx5_core_dealloc_pd(priv->mdev, priv->pdn); mlx5_core_dealloc_pd(priv->mdev, priv->pdn);
mlx5_unmap_free_uar(priv->mdev, &priv->cq_uar); mlx5_unmap_free_uar(priv->mdev, &priv->cq_uar);
mlx5e_disable_async_events(priv);
flush_scheduled_work();
free_netdev(netdev); free_netdev(netdev);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment