cvs commit: src/sys/kern kern_intr.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Tue Oct 25 18:21:57 PDT 2005
dillon 2005/10/25 18:16:04 PDT
DragonFly src repository
Modified files:
sys/kern kern_intr.c
Log:
Fix a long-standing bug in the livelock code. An interrupt thread normally
unmasks the hardware interrupt source when it is through. However, if a
livelock occurs the interrupt thread may be polled long after a device has
terminated operations and torn down its interrupt. To solve this problem,
only unmask the hardware interrupt if the IRQ still has device handlers
installed. This fixes a weird problem with the parallel port driver
(which installs and tears-down IRQ 7 on each write() for some unfathomable
reason).
Revision Changes Path
1.29 +7 -1 src/sys/kern/kern_intr.c
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_intr.c.diff?r1=1.28&r2=1.29&f=u
More information about the Commits
mailing list