diff options
author | ambrisko <ambrisko@FreeBSD.org> | 2006-06-30 18:59:08 +0000 |
---|---|---|
committer | ambrisko <ambrisko@FreeBSD.org> | 2006-06-30 18:59:08 +0000 |
commit | 97363ee503b1750c53fe0437081b373d4d79adcb (patch) | |
tree | 6e04095669c43d970b5ab848302855399c19cbf6 /sys | |
parent | 563866983d1f41a9d740ebee2c0efdde2f15f9f8 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/dev/mfi/mfi.c | 11 |
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); } |