svn commit: r240128 - head/sys/dev/bxe

Mike Silbersack silby at FreeBSD.org
Wed Sep 5 06:51:29 UTC 2012


Author: silby
Date: Wed Sep  5 06:51:28 2012
New Revision: 240128
URL: http://svn.freebsd.org/changeset/base/240128

Log:
  Only stop the BXE controller if it was first started.  Stopping
  an uninitialized controller can cause IPMI bus errors on some
  systems.
  
  Reviewed by:	yongari
  Obtained from:	McAfee, Inc.
  MFC after:	2 weeks

Modified:
  head/sys/dev/bxe/if_bxe.c

Modified: head/sys/dev/bxe/if_bxe.c
==============================================================================
--- head/sys/dev/bxe/if_bxe.c	Wed Sep  5 06:15:15 2012	(r240127)
+++ head/sys/dev/bxe/if_bxe.c	Wed Sep  5 06:51:28 2012	(r240128)
@@ -3554,8 +3554,14 @@ bxe_shutdown(device_t dev)
 	sc = device_get_softc(dev);
 	DBENTER(BXE_INFO_LOAD | BXE_INFO_RESET | BXE_INFO_UNLOAD);
 
+	/* Stop the controller, but only if it was ever started.
+	 * Stopping an uninitialized controller can cause
+	 * IPMI bus errors on some systems.
+	 */
 	BXE_CORE_LOCK(sc);
-	bxe_stop_locked(sc, UNLOAD_NORMAL);
+	if (sc->state != BXE_STATE_CLOSED) {
+		bxe_stop_locked(sc, UNLOAD_NORMAL);
+	}
 	BXE_CORE_UNLOCK(sc);
 
 	DBEXIT(BXE_INFO_LOAD | BXE_INFO_RESET | BXE_INFO_UNLOAD);


More information about the svn-src-all mailing list