summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-07-03 08:29:24 -0500
committerThomas Gleixner <tglx@linutronix.de>2009-07-20 18:44:41 +0200
commit6c8bc0117209ae448ca6eb3e82caee6340be6254 (patch)
tree08a40d5f389cb7938e6850991584f4c3ff0bec54
parent66982eb8843526b65094640835180acee28707f1 (diff)
downloadlwn-6c8bc0117209ae448ca6eb3e82caee6340be6254.tar.gz
lwn-6c8bc0117209ae448ca6eb3e82caee6340be6254.zip
drivers/net: Use disable_irq_nosync() in 8139too
Use disable_irq_nosync() instead of disable_irq() as this might be called in atomic context with netpoll. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--drivers/net/8139too.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c
index 0e2ba21d4441..560c233f6bd2 100644
--- a/drivers/net/8139too.c
+++ b/drivers/net/8139too.c
@@ -2195,7 +2195,11 @@ static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance)
*/
static void rtl8139_poll_controller(struct net_device *dev)
{
- disable_irq(dev->irq);
+ /*
+ * use _nosync() variant - might be used by netconsole
+ * from atomic contexts:
+ */
+ disable_irq_nosync(dev->irq);
rtl8139_interrupt(dev->irq, dev);
enable_irq(dev->irq);
}