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);