All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] igb: completely disable interrupts during netpoll
@ 2008-06-25 14:15 Andy Gospodarek
  2008-06-25 20:29 ` Brandeburg, Jesse
  2008-06-25 22:27 ` David Miller
  0 siblings, 2 replies; 13+ messages in thread
From: Andy Gospodarek @ 2008-06-25 14:15 UTC (permalink / raw)
  To: jeffrey.t.kirsher, jesse.brandeburg, bruce.w.allan, john.ronciak; +Cc: netdev


Globally disable the interrupt during netpoll rather than simply
disabling it on the hardware.  This will ensure all pending operations
are complete and no more will execute.  I've seen reports of deadlocks
with the current driver and this patch resolves them.
---
 drivers/net/igb/igb_main.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index ae398f0..5ddd1b4 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -4024,7 +4024,7 @@ static void igb_netpoll(struct net_device *netdev)
 	int i;
 	int work_done = 0;
 
-	igb_irq_disable(adapter);
+	disable_irq(adapter->pdev->irq);
 	for (i = 0; i < adapter->num_tx_queues; i++)
 		igb_clean_tx_irq(adapter, &adapter->tx_ring[i]);
 
@@ -4033,7 +4033,7 @@ static void igb_netpoll(struct net_device *netdev)
 				     &work_done,
 				     adapter->rx_ring[i].napi.weight);
 
-	igb_irq_enable(adapter);
+	enable_irq(adapter->pdev->irq);
 }
 #endif /* CONFIG_NET_POLL_CONTROLLER */
 
-- 
1.5.2.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2008-06-26 18:52 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-25 14:15 [PATCH] igb: completely disable interrupts during netpoll Andy Gospodarek
2008-06-25 20:29 ` Brandeburg, Jesse
2008-06-25 20:35   ` Matthew Wilcox
2008-06-25 20:39     ` Andy Gospodarek
2008-06-26  0:29       ` David Miller
2008-06-26  2:40         ` Andy Gospodarek
2008-06-26  2:43           ` David Miller
2008-06-26 18:52             ` Jesse Barnes
2008-06-25 22:27 ` David Miller
2008-06-26  2:49   ` Andy Gospodarek
2008-06-26  7:23   ` Brandeburg, Jesse
2008-06-26  9:16     ` David Miller
2008-06-26 18:12       ` Andy Gospodarek

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.