[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <201007201712.05671.jdelvare@suse.de>
Date: Tue, 20 Jul 2010 17:12:05 +0200
From: Jean Delvare <jdelvare@...e.de>
To: "David S. Miller" <davem@...emloft.net>
Cc: netdev@...r.kernel.org, Bruce Allan <bruce.w.allan@...el.com>,
Jesse Brandeburg <jesse.brandeburg@...el.com>
Subject: [PATCH] e1000e: Fix irq_synchronize in MSI-X case
Synchronize all IRQs when in MSI-X IRQ mode.
Signed-off-by: Jean Delvare <jdelvare@...e.de>
Cc: Bruce Allan <bruce.w.allan@...el.com>
Cc: Jesse Brandeburg <jesse.brandeburg@...el.com>
---
I sent this patch to the e1000-devel list on June 8th, 2010, but
didn't receive any answer:
http://sourceforge.net/mailarchive/forum.php?thread_name=201006081818.59098.jdelvare%40suse.de&forum_name=e1000-devel
I don't know how critical synchronize_irq() is, so I don't know if
this patch should go to stable branches or not.
drivers/net/e1000e/netdev.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -1939,7 +1939,13 @@ static void e1000_irq_disable(struct e10
if (adapter->msix_entries)
ew32(EIAC_82574, 0);
e1e_flush();
- synchronize_irq(adapter->pdev->irq);
+
+ if (adapter->msix_entries) {
+ synchronize_irq(adapter->msix_entries[0].vector);
+ synchronize_irq(adapter->msix_entries[1].vector);
+ synchronize_irq(adapter->msix_entries[2].vector);
+ } else
+ synchronize_irq(adapter->pdev->irq);
}
/**
--
Jean Delvare
Suse L3
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists