Date: Fri, 4 Apr 1997 19:14:39 +0100 (BST) From: Mark Dawson <md@dcs.qmw.ac.uk> To: freebsd-hackers@freebsd.org Subject: NetBSD's if_de.c Message-ID: <8nFIIDS_9JY1FiIzR5@dcs.qmw.ac.uk>
next in thread | raw e-mail | index | archive | help
NetBSD's de driver (1.83 1997/03/25 21:12:17) has a fix for 21140A
hangup's which is absent in FreeBSD's version...
in tulip_pci_attach():
if (chipid == TULIP_21140A && revinfo <= 0x22)
sc->tulip_features |= TULIP_HAVE_RXBUGGY;
in tulip_intr_handler():
/*
* Pass 2.[012] of the 21140A-A[CDE] may hang and/or corrupt data
* on receive overflows.
*/
if ((misses & 0x0FFE0000) && (sc->tulip_features &
TULIP_HAVE_RXBUGGY)) {
/*
* Stop the receiver process and spin until it's stopped.
* Tell rx_intr to drop the packets it dequeues.
*/
TULIP_CSR_WRITE(sc, csr_command, sc->tulip_cmdmode &
~TULIP_CMD_RXRUN);
while ((TULIP_CSR_READ(sc, csr_status) &
TULIP_STS_RXSTOPPED) == 0)
;
TULIP_CSR_WRITE(sc, csr_status, TULIP_STS_RXSTOPPED);
sc->tulip_flags |= TULIP_RXBAD;
}
Mark
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8nFIIDS_9JY1FiIzR5>
