cvs commit: src/sys/kern kern_fork.c
iedowse at FreeBSD.org
Sun Sep 28 04:08:32 PDT 2003
iedowse 2003/09/28 04:08:31 PDT
FreeBSD src repository
Modified files: (Branch: RELENG_4)
Save and restore the interrupt mask in fork1() instead of using
spl0() and hence assuming that the old interrupt mask was zero.
Although fork1() is normally called with a zero mask, one exception
to this is when it is called by kthread_create() before configure()
has unmasked interrupts for the first time. In that case it can
cause interrupt storm hangs during device configuration, because
interrupts can be delivered before the corresponding device drivers
are ready to receive them.
This should fix the boot-time USB hangs that have been reported.
Approved by: re (murray)
Revision Changes Path
22.214.171.124 +3 -3 src/sys/kern/kern_fork.c
More information about the cvs-src