cvs commit: src/sys/dev/em if_em.c
M. Warner Losh
imp at bsdimp.com
Tue Dec 27 21:40:08 PST 2005
In message: <43B1D120.9080604 at root.org>
Nate Lawson <nate at root.org> writes:
: Scott Long wrote:
: > Nate Lawson wrote:
: >> This probably means that the PCI memory space isn't fully initialized
: >> but an interrupt has been triggered. If you then go and try to poke
: >> the hardware, then you can hang the system.
: > I can believe your first statement, but not your second. Hanging the
: > system on an aborted memory read cycle (as opposed to just throwing a
: > #SERR) would indicate a highly highly broken chipset. In any case, if
: > we ever implement PCI hotplug then we'll have to deal with the effects
: > of aborted PCI transfers anyways.
: > Scott
: It's not the PCI write that hangs the system, it's the behavior of the
: device written to. It may never release the interrupt. Using an NMI to
: debug would be good.
Chances are there's a suprious interrupt (from the device's point of
view) that gets into emintr. Since the em driver doesn't mark itself
as 'suspended' and use that to short-circuit the ISR, we hit this
problem. I think that this is most likely the problem...
More information about the cvs-src