[PATCH kernel 2.6.35-rc3-git7] axnet_cs: local_irq_save before calling ei_irq_wrapper
From: Ken Kawasaki <hidden>
Date: 2010-07-06 11:28:22
From: Ken Kawasaki <hidden>
Date: 2010-07-06 11:28:22
axnet_cs:
local_irq_save before calling ei_irq_wrapper.
Signed-off-by: Ken Kawasaki <redacted>
---
--- linux-2.6.35-git7/drivers/net/pcmcia/axnet_cs.c.orig 2010-07-04 08:28:15.000000000 +0900
+++ linux-2.6.35-git7/drivers/net/pcmcia/axnet_cs.c 2010-07-04 08:40:23.000000000 +0900@@ -606,6 +606,7 @@ static void ei_watchdog(u_long arg) unsigned int nic_base = dev->base_addr; unsigned int mii_addr = nic_base + AXNET_MII_EEP; u_short link; + unsigned long flags; if (!netif_device_present(dev)) goto reschedule;
@@ -614,7 +615,10 @@ static void ei_watchdog(u_long arg) if (info->stale++ && (inb_p(nic_base + EN0_ISR) & ENISR_ALL)) { if (!info->fast_poll) printk(KERN_INFO "%s: interrupt(s) dropped!\n", dev->name); + local_irq_save(flags); ei_irq_wrapper(dev->irq, dev); + local_irq_restore(flags); + info->fast_poll = HZ; } if (info->fast_poll) {