NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/38021: Tulip NIC "dribbling bit" and "CRC error"



I've been running NetBSD 4.0 for the past two weeks with the following
patch to sys/dev/ic/tulipvar.h:

--- tulipvar.h.orig     2006-03-25 15:10:50.000000000 -0800
+++ tulipvar.h  2008-02-13 11:15:48.000000000 -0800
@@ -548,7 +548,7 @@
        __rxd->td_bufaddr2 =                                            \
            htole32(TULIP_CDRXADDR((sc), TULIP_NEXTRX((x))));           \
        __rxd->td_ctl =                                                 \
-           htole32((((__m->m_ext.ext_size - 1) & ~0x3U)                \
+           htole32((((__m->m_ext.ext_size - 2) & ~0x3U)                \
            << TDCTL_SIZE1_SHIFT) | (sc)->sc_tdctl_ch |                 \
            ((x) == (TULIP_NRXDESC - 1) ? sc->sc_tdctl_er : 0));        \
        __rxd->td_status = htole32(TDSTAT_OWN|TDSTAT_Rx_FS|TDSTAT_Rx_LS); \

and I haven't seen any more "CRC error" or "dribbling bit" errors.

Again, this problem was reported in 2000 (bug kern/10198), and some sort
of fix appears to have been incorporated into the source, but it didn't
really fix the problem, so I propose the above patch.

--
Rich Wales      ===      Palo Alto, CA, USA      ===     
richw%richw.org@localhost
http://www.richw.org   ===   http://en.wikipedia.org/wiki/User:Richwales


Home | Main Index | Thread Index | Old Index