summaryrefslogtreecommitdiffstats
path: root/sys/dev/mfi
diff options
context:
space:
mode:
authorambrisko <ambrisko@FreeBSD.org>2006-06-30 18:59:08 +0000
committerambrisko <ambrisko@FreeBSD.org>2006-06-30 18:59:08 +0000
commit97363ee503b1750c53fe0437081b373d4d79adcb (patch)
tree6e04095669c43d970b5ab848302855399c19cbf6 /sys/dev/mfi
parent563866983d1f41a9d740ebee2c0efdde2f15f9f8 (diff)
downloadFreeBSD-src-97363ee503b1750c53fe0437081b373d4d79adcb.zip
FreeBSD-src-97363ee503b1750c53fe0437081b373d4d79adcb.tar.gz
Change mfi_add_ld to "immediate command" mode since we need to enumerate
potential boot disks during the probe so they are read for mount root. Reviewed by: ps, scottl
Diffstat (limited to 'sys/dev/mfi')
-rw-r--r--sys/dev/mfi/mfi.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/dev/mfi/mfi.c b/sys/dev/mfi/mfi.c
index e46a916..7773af5 100644
--- a/sys/dev/mfi/mfi.c
+++ b/sys/dev/mfi/mfi.c
@@ -1296,13 +1296,16 @@ mfi_add_ld(struct mfi_softc *sc, int id)
return (error);
}
cm->cm_flags = MFI_CMD_DATAIN;
- cm->cm_complete = mfi_add_ld_complete;
dcmd = &cm->cm_frame->dcmd;
dcmd->mbox[0] = id;
+ if (mfi_wait_command(sc, cm) != 0) {
+ device_printf(sc->mfi_dev,
+ "Failed to get logical drive: %d\n", id);
+ free(ld_info, M_MFIBUF);
+ return (0);
+ }
- mfi_enqueue_ready(cm);
- mfi_startio(sc);
-
+ mfi_add_ld_complete(cm);
return (0);
}
OpenPOWER on IntegriCloud