cvs commit: src/sys/pci if_rl.c
Ruslan Ermilov
ru at FreeBSD.org
Fri Apr 2 16:42:34 PST 2004
ru 2004/04/02 16:42:33 PST
FreeBSD src repository
Modified files:
sys/pci if_rl.c
Log:
Fixed a few bugs in the rl(4) driver:
Under polling(4), we counted non-existent output packets and wasted
CPU cycles, corrected. (PR kern/64975.)
The fix in revision 1.71 to correct resetting of the watchdog timer
was wrong.
In rl(4), the TX list does not have a gap between the consumer and
producer, so the "empty TX list" test was wrong, corrected.
Also, resetting the timer to five each time we know there is still
some TX work to do was a bad idea -- under polling(4), if the chip
goes out to lunch, this results in the watchdog routine to _never_
be called. Instead, let the timer downgrade to zero and fire the
watchdog, then reset it to five when it is zero AND there is some
TX work left. (Most other network drivers need this fix too.)
MFC after: 3 days
Revision Changes Path
1.134 +10 -8 src/sys/pci/if_rl.c
More information about the cvs-src
mailing list