em driver watchdog routine

EM1897 at aol.com EM1897 at aol.com
Tue Feb 8 17:02:12 PST 2005


We have a MB that is problematic in FreeBSD that I wanted to test
in Dragonfly. When routing a decent volume of traffic through the box
you get a device timeout pretty quickly, and I think its due to interrupts 
getting mucked up somehow. My only evidence is that the MB
runs without any problems in DEVICE POLLING mode. Anyway, the 
same problem occurs  in Dragonfly, but I wasn't getting the "device 
timeout" error that I expected; the box was just locking up with the 
same symptoms as it did under freeBSD. I 
noticed that you changed the em_watchdog routine so that the
message doesn't get displayed unless a link is brought up successfully,
but then you go and reset the controller anyway.

I don't see that whats been done is correct. First of all you WANT to 
see the message, otherwise you have no idea that anything is wrong. 
If the controller is flapping through the watchdog routine its not something
you want to go unnoticed. I also think the logic behind the change is faulty, 
as the assumption that if the link is up, all is well (in which case why are
you resetting the controller anyway?). In this case, the transmitter is 
locked up
with the link up.

BTW, none of this corrects the problem, as the controller stays locked
up. The only thing found to always work to fix it is:

ifconfig em0 down
ifconfig em1 down
ifconfig em0 up
ifconfig em1 up





More information about the Users mailing list