svn commit: r190082 - in stable/7/sys: . contrib/pf dev/ath/ath_hal dev/bge dev/cxgb

Marius Strobl marius at FreeBSD.org
Thu Mar 19 09:44:40 PDT 2009


Author: marius
Date: Thu Mar 19 16:44:37 2009
New Revision: 190082
URL: http://svn.freebsd.org/changeset/base/190082

Log:
  MFC: r188164, r188457
  
  - device_shutdown returns an int.
  - Don't reset the PHY probe retry counter within the loop so
    it will eventually terminate as intended. [1]
  
  Submitted by:	Helen Zhang [1]

Modified:
  stable/7/sys/   (props changed)
  stable/7/sys/contrib/pf/   (props changed)
  stable/7/sys/dev/ath/ath_hal/   (props changed)
  stable/7/sys/dev/bge/if_bge.c
  stable/7/sys/dev/cxgb/   (props changed)

Modified: stable/7/sys/dev/bge/if_bge.c
==============================================================================
--- stable/7/sys/dev/bge/if_bge.c	Thu Mar 19 16:39:59 2009	(r190081)
+++ stable/7/sys/dev/bge/if_bge.c	Thu Mar 19 16:44:37 2009	(r190082)
@@ -348,7 +348,7 @@ static void bge_init_locked(struct bge_s
 static void bge_init(void *);
 static void bge_stop(struct bge_softc *);
 static void bge_watchdog(struct bge_softc *);
-static void bge_shutdown(device_t);
+static int bge_shutdown(device_t);
 static int bge_ifmedia_upd_locked(struct ifnet *);
 static int bge_ifmedia_upd(struct ifnet *);
 static void bge_ifmedia_sts(struct ifnet *, struct ifmediareq *);
@@ -2674,11 +2674,11 @@ bge_attach(device_t dev)
 		 * if we get a conflict with the ASF firmware accessing
 		 * the PHY.
 		 */
+		trys = 0;
 		BGE_CLRBIT(sc, BGE_MODE_CTL, BGE_MODECTL_STACKUP);
 again:
 		bge_asf_driver_up(sc);
 
-		trys = 0;
 		if (mii_phy_probe(dev, &sc->bge_miibus,
 		    bge_ifmedia_upd, bge_ifmedia_sts)) {
 			if (trys++ < 4) {
@@ -4280,17 +4280,18 @@ bge_stop(struct bge_softc *sc)
  * Stop all chip I/O so that the kernel's probe routines don't
  * get confused by errant DMAs when rebooting.
  */
-static void
+static int
 bge_shutdown(device_t dev)
 {
 	struct bge_softc *sc;
 
 	sc = device_get_softc(dev);
-
 	BGE_LOCK(sc);
 	bge_stop(sc);
 	bge_reset(sc);
 	BGE_UNLOCK(sc);
+
+	return (0);
 }
 
 static int


More information about the svn-src-all mailing list