summaryrefslogtreecommitdiffstats
path: root/sys/cam
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2015-11-30 21:16:26 +0000
committermav <mav@FreeBSD.org>2015-11-30 21:16:26 +0000
commit1430c69ae59435c6f85be8d41f49677f007a3d4d (patch)
treeb8bac073f821459f70ff4dcc8fe5e2e6a74d5970 /sys/cam
parentc0ccffc7fa91a385842a6bb8d30e6c489ba1d9c1 (diff)
downloadFreeBSD-src-1430c69ae59435c6f85be8d41f49677f007a3d4d.zip
FreeBSD-src-1430c69ae59435c6f85be8d41f49677f007a3d4d.tar.gz
MFC r291383: Fix panic when trying to sort unsupported command in OOA queue.
Handle unsupported commands as not conflicting/blocking.
Diffstat (limited to 'sys/cam')
-rw-r--r--sys/cam/ctl/ctl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/cam/ctl/ctl.c b/sys/cam/ctl/ctl.c
index eedcfa9..24e7e89 100644
--- a/sys/cam/ctl/ctl.c
+++ b/sys/cam/ctl/ctl.c
@@ -11093,6 +11093,8 @@ ctl_check_for_blockage(struct ctl_lun *lun, union ctl_io *pending_io,
__func__, pending_entry->seridx, pending_io->scsiio.cdb[0],
pending_io->scsiio.cdb[1], pending_io));
ooa_entry = ctl_get_cmd_entry(&ooa_io->scsiio, NULL);
+ if (ooa_entry->seridx == CTL_SERIDX_INVLD)
+ return (CTL_ACTION_PASS); /* Unsupported command in OOA queue */
KASSERT(ooa_entry->seridx < CTL_SERIDX_COUNT,
("%s: Invalid seridx %d for ooa CDB %02x %02x @ %p",
__func__, ooa_entry->seridx, ooa_io->scsiio.cdb[0],
OpenPOWER on IntegriCloud