diff options
author | yongari <yongari@FreeBSD.org> | 2013-03-18 04:46:17 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2013-03-18 04:46:17 +0000 |
commit | c1c3be94b5168f8fb3d5164cef52767192eb6505 (patch) | |
tree | 7590eea83f87cb4e14db0844125aae4c19378d8d /sys/dev/sis | |
parent | cb18769932267f5dfafb0778cad8bddbb926f1c8 (diff) | |
download | FreeBSD-src-c1c3be94b5168f8fb3d5164cef52767192eb6505.zip FreeBSD-src-c1c3be94b5168f8fb3d5164cef52767192eb6505.tar.gz |
r119712 introduced SIS_TYPE_83816 but it was not actually set in
driver such that checking against the type was always false.
To detect NS DP83816, driver should have checked silicon revision
register for NS controllers. While here, remove SIS_TYPE_83816 to
not make the similar mistake again.
Reported by: Brad Smith ( brad@openbsd )
Diffstat (limited to 'sys/dev/sis')
-rw-r--r-- | sys/dev/sis/if_sis.c | 4 | ||||
-rw-r--r-- | sys/dev/sis/if_sisreg.h | 1 |
2 files changed, 2 insertions, 3 deletions
diff --git a/sys/dev/sis/if_sis.c b/sys/dev/sis/if_sis.c index 456c3d4..55bb7ca 100644 --- a/sys/dev/sis/if_sis.c +++ b/sys/dev/sis/if_sis.c @@ -625,7 +625,7 @@ sis_miibus_statchg(device_t dev) SIS_CLRBIT(sc, SIS_RX_CFG, SIS_RXCFG_RX_TXPKTS); } - if (sc->sis_type == SIS_TYPE_83816) { + if (sc->sis_type == SIS_TYPE_83815 && sc->sis_srr >= NS_SRR_16A) { /* * MPII03.D: Half Duplex Excessive Collisions. * Also page 49 in 83816 manual @@ -1989,7 +1989,7 @@ sis_initl(struct sis_softc *sc) return; } - if (sc->sis_type == SIS_TYPE_83815 || sc->sis_type == SIS_TYPE_83816) { + if (sc->sis_type == SIS_TYPE_83815) { if (sc->sis_manual_pad != 0) sc->sis_flags |= SIS_FLAG_MANUAL_PAD; else diff --git a/sys/dev/sis/if_sisreg.h b/sys/dev/sis/if_sisreg.h index b400806..6256fde 100644 --- a/sys/dev/sis/if_sisreg.h +++ b/sys/dev/sis/if_sisreg.h @@ -439,7 +439,6 @@ struct sis_type { #define SIS_TYPE_900 1 #define SIS_TYPE_7016 2 #define SIS_TYPE_83815 3 -#define SIS_TYPE_83816 4 struct sis_txdesc { struct mbuf *tx_m; |