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

Commit bb273617 authored by Amir Vadai's avatar Amir Vadai Committed by David S. Miller
Browse files

net/mlx4_en: IRQ affinity hint is not cleared on port down



Need to remove affinity hint at mlx4_en_deactivate_cq() and not at
mlx4_en_destroy_cq() - since affinity_mask might be free'd while still
being used by procfs.

Signed-off-by: default avatarAmir Vadai <amirv@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 143b5ba2
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -191,8 +191,6 @@ void mlx4_en_destroy_cq(struct mlx4_en_priv *priv, struct mlx4_en_cq **pcq)
	mlx4_en_unmap_buffer(&cq->wqres.buf);
	mlx4_en_unmap_buffer(&cq->wqres.buf);
	mlx4_free_hwq_res(mdev->dev, &cq->wqres, cq->buf_size);
	mlx4_free_hwq_res(mdev->dev, &cq->wqres, cq->buf_size);
	if (priv->mdev->dev->caps.comp_pool && cq->vector) {
	if (priv->mdev->dev->caps.comp_pool && cq->vector) {
		if (!cq->is_tx)
			irq_set_affinity_hint(cq->mcq.irq, NULL);
		mlx4_release_eq(priv->mdev->dev, cq->vector);
		mlx4_release_eq(priv->mdev->dev, cq->vector);
	}
	}
	cq->vector = 0;
	cq->vector = 0;
@@ -208,6 +206,7 @@ void mlx4_en_deactivate_cq(struct mlx4_en_priv *priv, struct mlx4_en_cq *cq)
	if (!cq->is_tx) {
	if (!cq->is_tx) {
		napi_hash_del(&cq->napi);
		napi_hash_del(&cq->napi);
		synchronize_rcu();
		synchronize_rcu();
		irq_set_affinity_hint(cq->mcq.irq, NULL);
	}
	}
	netif_napi_del(&cq->napi);
	netif_napi_del(&cq->napi);