diff options
author | mav <mav@FreeBSD.org> | 2015-11-30 21:16:26 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2015-11-30 21:16:26 +0000 |
commit | 1430c69ae59435c6f85be8d41f49677f007a3d4d (patch) | |
tree | b8bac073f821459f70ff4dcc8fe5e2e6a74d5970 /sys/cam | |
parent | c0ccffc7fa91a385842a6bb8d30e6c489ba1d9c1 (diff) | |
download | FreeBSD-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.c | 2 |
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], |