diff options
author | ambrisko <ambrisko@FreeBSD.org> | 2008-11-13 17:13:16 +0000 |
---|---|---|
committer | ambrisko <ambrisko@FreeBSD.org> | 2008-11-13 17:13:16 +0000 |
commit | 49e7633cf7e7fedd6c90ed91d279825c9aa94918 (patch) | |
tree | aeb5c8580abba131c01ee5931e370a1068e7314c /sys | |
parent | e5806365f9f865bef7287adb036914d6dd28f860 (diff) | |
download | FreeBSD-src-49e7633cf7e7fedd6c90ed91d279825c9aa94918.zip FreeBSD-src-49e7633cf7e7fedd6c90ed91d279825c9aa94918.tar.gz |
One more piece to add to make sense data work for a user app. from LSI.
Submitted by: LSI
MFC after: 3 days
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/mfi/mfi.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/dev/mfi/mfi.c b/sys/dev/mfi/mfi.c index 5f1bf55..f8b9e44 100644 --- a/sys/dev/mfi/mfi.c +++ b/sys/dev/mfi/mfi.c @@ -2069,6 +2069,11 @@ mfi_ioctl(struct cdev *dev, u_long cmd, caddr_t arg, int flag, d_thread_t *td) if (cm->cm_frame->header.cmd == MFI_CMD_DCMD) locked = mfi_config_lock(sc, cm->cm_frame->dcmd.opcode); + if (cm->cm_frame->header.cmd == MFI_CMD_PD_SCSI_IO) { + cm->cm_frame->pass.sense_addr_lo = cm->cm_sense_busaddr; + cm->cm_frame->pass.sense_addr_hi = 0; + } + mtx_lock(&sc->mfi_io_lock); error = mfi_check_command_pre(sc, cm); if (error) { @@ -2305,6 +2310,11 @@ mfi_linux_ioctl_int(struct cdev *dev, u_long cmd, caddr_t arg, int flag, d_threa if (cm->cm_frame->header.cmd == MFI_CMD_DCMD) locked = mfi_config_lock(sc, cm->cm_frame->dcmd.opcode); + if (cm->cm_frame->header.cmd == MFI_CMD_PD_SCSI_IO) { + cm->cm_frame->pass.sense_addr_lo = cm->cm_sense_busaddr; + cm->cm_frame->pass.sense_addr_hi = 0; + } + mtx_lock(&sc->mfi_io_lock); error = mfi_check_command_pre(sc, cm); if (error) { |