summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2005-01-06 23:54:55 +0000
committerphk <phk@FreeBSD.org>2005-01-06 23:54:55 +0000
commit2467640118d54b46e9e524ece546db4d41213c5d (patch)
tree6bc2d3322c680bc9c8d1f4eb56af08847f7ee4fd
parent9f1fe19e5780f3dc8e93b81149b269e9fcec39fb (diff)
downloadFreeBSD-src-2467640118d54b46e9e524ece546db4d41213c5d.zip
FreeBSD-src-2467640118d54b46e9e524ece546db4d41213c5d.tar.gz
Fix for an issue with excessive collisions in half duplex mode.
-rw-r--r--sys/pci/if_sis.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/pci/if_sis.c b/sys/pci/if_sis.c
index d9ce3e6..22d83b5 100644
--- a/sys/pci/if_sis.c
+++ b/sys/pci/if_sis.c
@@ -2004,6 +2004,14 @@ sis_initl(struct sis_softc *sc)
SIS_CLRBIT(sc, SIS_RX_CFG, SIS_RXCFG_RX_TXPKTS);
}
+ if (sc->sis_type == SIS_TYPE_83816) {
+ /*
+ * MPII03.D: Half Duplex Excessive Collisions.
+ * Also page 49 in 83816 manual
+ */
+ SIS_SETBIT(sc, SIS_TX_CFG, SIS_TXCFG_MPII03D);
+ }
+
if (sc->sis_type == SIS_TYPE_83815 &&
IFM_SUBTYPE(mii->mii_media_active) == IFM_100_TX) {
uint32_t reg;
OpenPOWER on IntegriCloud