cvs commit: src/sys/dev/em if_em.c
glebius at FreeBSD.org
Wed Dec 28 00:49:27 PST 2005
On Tue, Dec 27, 2005 at 10:34:01PM -0700, M. Warner Losh wrote:
M> : This probably means that the PCI memory space isn't fully initialized
M> : but an interrupt has been triggered. If you then go and try to poke the
M> : hardware, then you can hang the system.
M> Most of the other drivers explicitly turn off their interrupt handler
M> or mark their softc as 'suspended' until the resume code gets to run.
M> Those that mark the softc as suspended exit the ISR immediately w/o
M> touching the hardware. The em driver doesn't seem to do either of
M> these things.
I have tried this, and it doesn't help. I was setting a flag in suspend
handler and clearing it in resume handler. em_intr() exited always if
the flag was on. Howerver, this didn't help - the strange interrupt
happend after the resume handler has been run.
P.S. Yesterday I also noticed same 0xffffffff check in if_re.c
Totus tuus, Glebius.
More information about the cvs-src