cvs commit: src/sys/dev/re if_re.c
Robert Watson
rwatson at FreeBSD.org
Thu Aug 18 20:08:01 GMT 2005
On Thu, 18 Aug 2005, John Baldwin wrote:
> I've still yet to see what the real panic is. For one thing, if the
> foo_stop method does its jobs, the ethernet hardware shouldn't be
> generating interrupts. The stop method should be shutting the card down
> (i.e. turning off the receiver and transmitter for example). Is your
> ethernet driver sharing an interrupt with another device and the other
> device is interrupting? In that case, the ethernet driver would have
> the same panic if you did an 'ifconfig foo0 down' and then the other
> device interrupted. So, I think clearing IFF_UPP in foo_shutdown() is
> wrong. foo_stop() should really be sufficient, and foo_intr() should be
> able to handle a spurious interrupt while the interface is stopped
> without panicing since it already needs to do so to handle the shared
> interrupt case.
Ideally, I'd like to see device drivers stop setting or clearing
stack-owned bits, such as IFF_UP, IFF_PROMISC, etc. However, we probably
have a ways to go before we're there.
Robert N M Watson
More information about the cvs-src
mailing list