Date: Thu, 21 Oct 1999 12:42:04 -0700 (PDT) From: Bill Paul <wpaul@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/pci if_rl.c if_rlreg.h Message-ID: <199910211942.MAA09097@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
wpaul 1999/10/21 12:42:04 PDT
Modified files:
sys/pci if_rl.c if_rlreg.h
Log:
Make some tweaks to the RealTek driver:
- Fix a bug in rl_rxeof() handler: in the case where the packet wraps
from the end of the receive buffer back to the beginning, we need to
insure that at least sizeof(ether_header) bytes make it into the first
mbuf. If we don't, then doing eh = mtod(m, struct ether_header *)
loses. To avoid this, we use m_pullup() to suck at least MHLEN -
RL_ETHER_ALIGN bytes into the first mbuf, which should also help
small packets fit into a single mbuf.
Pointed out by: Philip A. Prindeville <philipp@zembu.com>
- Make the transmit threshold autotuning: start off with a small value
and jack it up when TX underruns are detected.
- Also improve TX error recovery: kick the chip in the head with a
reset/init sequence to make sure it recovers afer a transmit error.
Revision Changes Path
1.35 +27 -13 src/sys/pci/if_rl.c
1.14 +4 -2 src/sys/pci/if_rlreg.h
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199910211942.MAA09097>
