svn commit: r248456 - head/sys/dev/sis

Pyun YongHyeon yongari at FreeBSD.org
Mon Mar 18 04:46:17 UTC 2013


Author: yongari
Date: Mon Mar 18 04:46:17 2013
New Revision: 248456
URL: http://svnweb.freebsd.org/changeset/base/248456

Log:
  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 at openbsd )

Modified:
  head/sys/dev/sis/if_sis.c
  head/sys/dev/sis/if_sisreg.h

Modified: head/sys/dev/sis/if_sis.c
==============================================================================
--- head/sys/dev/sis/if_sis.c	Mon Mar 18 02:29:57 2013	(r248455)
+++ head/sys/dev/sis/if_sis.c	Mon Mar 18 04:46:17 2013	(r248456)
@@ -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

Modified: head/sys/dev/sis/if_sisreg.h
==============================================================================
--- head/sys/dev/sis/if_sisreg.h	Mon Mar 18 02:29:57 2013	(r248455)
+++ head/sys/dev/sis/if_sisreg.h	Mon Mar 18 04:46:17 2013	(r248456)
@@ -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;


More information about the svn-src-all mailing list