| From 3948aaad6a3b33e3a11f1c7b9b9b99b458c23b2d Mon Sep 17 00:00:00 2001 |
| From: Ingo Molnar <mingo@elte.hu> |
| Date: Fri, 3 Jul 2009 08:29:24 -0500 |
| Subject: [PATCH] drivers/net: Use disable_irq_nosync() in 8139too |
| |
| commit 6c8bc0117209ae448ca6eb3e82caee6340be6254 in tip. |
| |
| 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> |
| |
| diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c |
| index 25f7339..3b8ff0d 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); |
| } |
| -- |
| 1.7.1.1 |
| |