Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Mar 2010 18:38:53 +0000 (UTC)
From:      Pyun YongHyeon <yongari@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org
Subject:   svn commit: r205285 - stable/7/sys/dev/bge
Message-ID:  <201003181838.o2IIcrtX004324@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: yongari
Date: Thu Mar 18 18:38:53 2010
New Revision: 205285
URL: http://svn.freebsd.org/changeset/base/205285

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/7/sys/dev/bge/if_bge.c
Directory Properties:
  stable/7/sys/   (props changed)
  stable/7/sys/cddl/contrib/opensolaris/   (props changed)
  stable/7/sys/contrib/dev/acpica/   (props changed)
  stable/7/sys/contrib/pf/   (props changed)

Modified: stable/7/sys/dev/bge/if_bge.c
==============================================================================
--- stable/7/sys/dev/bge/if_bge.c	Thu Mar 18 18:35:28 2010	(r205284)
+++ stable/7/sys/dev/bge/if_bge.c	Thu Mar 18 18:38:53 2010	(r205285)
@@ -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;
-			}
 		}
 	}
 
@@ -3673,7 +3672,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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003181838.o2IIcrtX004324>