[PATCH trusty SRU 5/5] net/mlx4_en: IRQ affinity hint is not cleared on port down
Ming Lei
ming.lei at canonical.com
Fri Jul 18 14:20:42 UTC 2014
From: Amir Vadai <amirv at mellanox.com>
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: Amir Vadai <amirv at mellanox.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
(cherry picked from commit bb273617a65b9ed75f8cf9417206cbfcfb41fc48)
Signed-off-by: Ming Lei <ming.lei at canonical.com>
---
drivers/net/ethernet/mellanox/mlx4/en_cq.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_cq.c b/drivers/net/ethernet/mellanox/mlx4/en_cq.c
index 802adc5..60a8655 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_cq.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_cq.c
@@ -193,8 +193,6 @@ void mlx4_en_destroy_cq(struct mlx4_en_priv *priv, struct mlx4_en_cq **pcq)
mlx4_en_unmap_buffer(&cq->wqres.buf);
mlx4_free_hwq_res(mdev->dev, &cq->wqres, cq->buf_size);
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);
}
cq->vector = 0;
@@ -210,6 +208,7 @@ void mlx4_en_deactivate_cq(struct mlx4_en_priv *priv, struct mlx4_en_cq *cq)
if (!cq->is_tx) {
napi_hash_del(&cq->napi);
synchronize_rcu();
+ irq_set_affinity_hint(cq->mcq.irq, NULL);
}
netif_napi_del(&cq->napi);
--
1.7.9.5
More information about the kernel-team
mailing list