Date: Fri, 2 Apr 2004 16:42:33 -0800 (PST) From: Ruslan Ermilov <ru@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/pci if_rl.c Message-ID: <200404030042.i330gYi7058046@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200404030042.i330gYi7058046>