aboutsummaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorDoug Ambrisko <ambrisko@FreeBSD.org>2008-03-22 02:57:49 +0000
committerDoug Ambrisko <ambrisko@FreeBSD.org>2008-03-22 02:57:49 +0000
commita355f43ed206c103eb3e07e4d36ed988060dbc8e (patch)
treea9ce57c43213070417373a33f01181d3493ea5cb /sys/dev
parentd6aed19dfb730ea5b31f03a5339cd22deb49278c (diff)
Notes
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/mfi/mfi.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/mfi/mfi.c b/sys/dev/mfi/mfi.c
index 8eb3c92c2f66..1528e8ad95be 100644
--- a/sys/dev/mfi/mfi.c
+++ b/sys/dev/mfi/mfi.c
@@ -2075,8 +2075,16 @@ mfi_ioctl(struct cdev *dev, u_long cmd, caddr_t arg, int flag, d_thread_t *td)
break;
}
case MFI_CMD:
+ {
+ devclass_t devclass;
ioc = (struct mfi_ioc_packet *)arg;
+ int adapter;
+ adapter = ioc->mfi_adapter_no;
+ if (device_get_unit(sc->mfi_dev) == 0 && adapter != 0) {
+ devclass = devclass_find("mfi");
+ sc = devclass_get_softc(devclass, adapter);
+ }
mtx_lock(&sc->mfi_io_lock);
if ((cm = mfi_dequeue_free(sc)) == NULL) {
mtx_unlock(&sc->mfi_io_lock);
@@ -2196,6 +2204,7 @@ out:
}
break;
+ }
case MFI_SET_AEN:
aen = (struct mfi_ioc_aen *)arg;
error = mfi_aen_register(sc, aen->aen_seq_num,