svn commit: r205284 - stable/8/sys/dev/bge

Pyun YongHyeon yongari at FreeBSD.org
Thu Mar 18 18:35:29 UTC 2010


Author: yongari
Date: Thu Mar 18 18:35:28 2010
New Revision: 205284
URL: http://svn.freebsd.org/changeset/base/205284

Log:
  MFC r202821-202822.
  
  r202821:
    Fix a long standing ASF heartbeat sending bug. The initial
    implementation of heartbeat interval was 2 but there was typo which
    caused the heartbeat is sent approximately every 5 seconds. This
    caused unintended controller reset by firmware because firmware
    thought OS was crashed.
  
    Submitted by:	Floris Bos < info <> je-eigen-domein dot nl >
    Tested by:	Andrzej Tobola < ato <> iem dot pw dot edu dot pl >
  
  r202822:
    Use new handshake command for BCM5750 or new controllers.

Modified:
  stable/8/sys/dev/bge/if_bge.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)

Modified: stable/8/sys/dev/bge/if_bge.c
==============================================================================
--- stable/8/sys/dev/bge/if_bge.c	Thu Mar 18 17:00:44 2010	(r205283)
+++ stable/8/sys/dev/bge/if_bge.c	Thu Mar 18 18:35:28 2010	(r205284)
@@ -2744,9 +2744,8 @@ bge_attach(device_t dev)
 		    & BGE_HWCFG_ASF) {
 			sc->bge_asf_mode |= ASF_ENABLE;
 			sc->bge_asf_mode |= ASF_STACKUP;
-			if (sc->bge_asicrev == BGE_ASICREV_BCM5750) {
+			if (BGE_IS_575X_PLUS(sc))
 				sc->bge_asf_mode |= ASF_NEW_HANDSHAKE;
-			}
 		}
 	}
 
@@ -3677,7 +3676,7 @@ bge_asf_driver_up(struct bge_softc *sc)
 		if (sc->bge_asf_count)
 			sc->bge_asf_count --;
 		else {
-			sc->bge_asf_count = 5;
+			sc->bge_asf_count = 2;
 			bge_writemem_ind(sc, BGE_SOFTWARE_GENCOMM_FW,
 			    BGE_FW_DRV_ALIVE);
 			bge_writemem_ind(sc, BGE_SOFTWARE_GENNCOMM_FW_LEN, 4);


More information about the svn-src-stable-8 mailing list