Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -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)
	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);
}
}