Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] lockdep: annotate 3c59x.c disable_irq()

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.

Has no effect on non-lockdep kernels.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by

Ingo Molnar and committed by
Linus Torvalds
0a9da4bd e745165c

+2 -2
+2 -2
drivers/net/3c59x.c
··· 1897 1897 printk(KERN_DEBUG "dev->watchdog_timeo=%d\n", dev->watchdog_timeo); 1898 1898 } 1899 1899 1900 - disable_irq(dev->irq); 1900 + disable_irq_lockdep(dev->irq); 1901 1901 old_window = ioread16(ioaddr + EL3_CMD) >> 13; 1902 1902 EL3WINDOW(4); 1903 1903 media_status = ioread16(ioaddr + Wn4_Media); ··· 1978 1978 dev->name, media_tbl[dev->if_port].name); 1979 1979 1980 1980 EL3WINDOW(old_window); 1981 - enable_irq(dev->irq); 1981 + enable_irq_lockdep(dev->irq); 1982 1982 mod_timer(&vp->timer, RUN_AT(next_tick)); 1983 1983 if (vp->deferred) 1984 1984 iowrite16(FakeIntr, ioaddr + EL3_CMD);