]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mlx4: Clean IRQ affinity hint when freeing it
authorIdo Shamay <idos@mellanox.com>
Sun, 9 Mar 2014 11:35:04 +0000 (13:35 +0200)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 7 Jul 2015 21:45:18 +0000 (14:45 -0700)
This is done to avoid kernel's warning when affinty hint
of IRQ is set, when free_irq is called.

WARNING: at kernel/irq/manage.c:1002 __free_irq+0x22d/0x250()
Call Trace:
 [<ffffffff81071e27>] ? warn_slowpath_common+0x87/0xc0
 [<ffffffff81071e7a>] ? warn_slowpath_null+0x1a/0x20
 [<ffffffff810e83fd>] ? __free_irq+0x22d/0x250
 [<ffffffff810e848e>] ? free_irq+0x4e/0xb0
 [<ffffffffa03d083d>] ? mlx4_release_eq+0x9d/0xc0 [mlx4_core]

Signed-off-by: Ido Shamay <idos@mellanox.com>
(Ported from Mellanox OFED 2.4)

Signed-off-by: Mukesh Kacker <mukesh.kacker@oracle.com>
drivers/net/ethernet/mellanox/mlx4/eq.c

index 4e9c01be5fcf17950c6f648f246f75043147aa65..8127529325e17b88ffde3074d771b071d03dd571 100644 (file)
@@ -1432,6 +1432,8 @@ void mlx4_release_eq(struct mlx4_dev *dev, int vec)
                  Belonging to a legacy EQ*/
                mutex_lock(&priv->msix_ctl.pool_lock);
                if (priv->msix_ctl.pool_bm & 1ULL << i) {
+                       irq_set_affinity_hint(priv->eq_table.eq[vec].irq,
+                                             NULL);
                        free_irq(priv->eq_table.eq[vec].irq,
                                 &priv->eq_table.eq[vec]);
                        priv->msix_ctl.pool_bm &= ~(1ULL << i);