From owner-freebsd-hackers Fri Apr 4 10:14:56 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id KAA23581 for hackers-outgoing; Fri, 4 Apr 1997 10:14:56 -0800 (PST) Received: from mangle.dcs.qmw.ac.uk (mangle-main.dcs.qmw.ac.uk [138.37.88.250]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id KAA23576 for ; Fri, 4 Apr 1997 10:14:53 -0800 (PST) Received: from md@ruby [138.37.88.139]; by mangle.dcs.qmw.ac.uk (8.8.5/8.8.5/S-4.0) with ESMTP; id TAA25879; Fri, 4 Apr 1997 19:14:41 +0100 (BST) Received: from md@localhost; by ruby.dcs.qmw.ac.uk (8.8.4/8.8.4/C-3.2); id TAA07859; Fri, 4 Apr 1997 19:14:39 +0100 (BST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.ruby.cs.qmw.ac.uk.sun4.41 via MS.5.6.ruby.cs.qmw.ac.uk.sun4_41; Fri, 4 Apr 1997 19:14:39 +0100 (BST) Message-ID: <8nFIIDS_9JY1FiIzR5@dcs.qmw.ac.uk> Date: Fri, 4 Apr 1997 19:14:39 +0100 (BST) From: Mark Dawson To: freebsd-hackers@freebsd.org Subject: NetBSD's if_de.c Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk 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