Module Name: src
Committed By: bouyer
Date: Fri Nov 9 18:46:54 UTC 2012
Modified Files:
src/sys/dev/ic: mfi.c
Log Message:
MFI_STATE_BOOT_MESSAGE_PENDING also needs to be handed for non-TBOLT
controllers, from FreeBSD. tested by Hugo Silva against a GEN2 controller.
To generate a diff of this commit:
cvs rdiff -u -r1.47 -r1.48 src/sys/dev/ic/mfi.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/ic/mfi.c
diff -u src/sys/dev/ic/mfi.c:1.47 src/sys/dev/ic/mfi.c:1.48
--- src/sys/dev/ic/mfi.c:1.47 Wed Sep 19 21:24:29 2012
+++ src/sys/dev/ic/mfi.c Fri Nov 9 18:46:54 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: mfi.c,v 1.47 2012/09/19 21:24:29 bouyer Exp $ */
+/* $NetBSD: mfi.c,v 1.48 2012/11/09 18:46:54 bouyer Exp $ */
/* $OpenBSD: mfi.c,v 1.66 2006/11/28 23:59:45 dlg Exp $ */
/*
@@ -73,7 +73,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mfi.c,v 1.47 2012/09/19 21:24:29 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mfi.c,v 1.48 2012/11/09 18:46:54 bouyer Exp $");
#include "bio.h"
@@ -587,12 +587,14 @@ mfi_transition_firmware(struct mfi_softc
max_wait = 20;
break;
case MFI_STATE_BOOT_MESSAGE_PENDING:
- if (sc->sc_ioptype == MFI_IOP_TBOLT) {
+ if (sc->sc_ioptype == MFI_IOP_SKINNY ||
+ sc->sc_ioptype == MFI_IOP_TBOLT) {
mfi_write(sc, MFI_SKINNY_IDB, MFI_INIT_HOTPLUG);
- max_wait = 180;
- break;
+ } else {
+ mfi_write(sc, MFI_IDB, MFI_INIT_HOTPLUG);
}
- /* FALLTHROUGH */
+ max_wait = 180;
+ break;
default:
aprint_error_dev(sc->sc_dev,
"unknown firmware state %d\n", fw_state);