diff options
author | phk <phk@FreeBSD.org> | 2005-01-06 23:54:55 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2005-01-06 23:54:55 +0000 |
commit | 2467640118d54b46e9e524ece546db4d41213c5d (patch) | |
tree | 6bc2d3322c680bc9c8d1f4eb56af08847f7ee4fd /sys/pci/if_sis.c | |
parent | 9f1fe19e5780f3dc8e93b81149b269e9fcec39fb (diff) | |
download | FreeBSD-src-2467640118d54b46e9e524ece546db4d41213c5d.zip FreeBSD-src-2467640118d54b46e9e524ece546db4d41213c5d.tar.gz |
Fix for an issue with excessive collisions in half duplex mode.
Diffstat (limited to 'sys/pci/if_sis.c')
-rw-r--r-- | sys/pci/if_sis.c | 8 |
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; |