[patch, -rc5-mm1] locking validator: special rule: 3c59x.c disable_irq()

From: Ingo Molnar
Date: Wed May 31 2006 - 16:07:46 EST


Subject: locking validator: special rule: 3c59x.c disable_irq()
From: Ingo Molnar <mingo@xxxxxxx>

3c59x.c's vortex_timer() function knows that vp->lock can only be used
by an irq context that it disabled - and can hence take the vp->lock
without disabling hardirqs. Teach lockdep about this.

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
drivers/net/3c59x.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Index: linux/drivers/net/3c59x.c
===================================================================
--- linux.orig/drivers/net/3c59x.c
+++ linux/drivers/net/3c59x.c
@@ -1904,7 +1904,7 @@ vortex_timer(unsigned long data)
printk(KERN_DEBUG "dev->watchdog_timeo=%d\n", dev->watchdog_timeo);
}

- disable_irq(dev->irq);
+ disable_irq_lockdep(dev->irq);
old_window = ioread16(ioaddr + EL3_CMD) >> 13;
EL3WINDOW(4);
media_status = ioread16(ioaddr + Wn4_Media);
@@ -1985,7 +1985,7 @@ leave_media_alone:
dev->name, media_tbl[dev->if_port].name);

EL3WINDOW(old_window);
- enable_irq(dev->irq);
+ enable_irq_lockdep(dev->irq);
mod_timer(&vp->timer, RUN_AT(next_tick));
if (vp->deferred)
iowrite16(FakeIntr, ioaddr + EL3_CMD);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/