summaryrefslogtreecommitdiffstats
path: root/sys/dev/sis
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2013-03-18 04:46:17 +0000
committeryongari <yongari@FreeBSD.org>2013-03-18 04:46:17 +0000
commitc1c3be94b5168f8fb3d5164cef52767192eb6505 (patch)
tree7590eea83f87cb4e14db0844125aae4c19378d8d /sys/dev/sis
parentcb18769932267f5dfafb0778cad8bddbb926f1c8 (diff)
downloadFreeBSD-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.c4
-rw-r--r--sys/dev/sis/if_sisreg.h1
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;
OpenPOWER on IntegriCloud