diff options
author | mav <mav@FreeBSD.org> | 2014-09-22 10:05:36 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2014-09-22 10:05:36 +0000 |
commit | 3832b4fbc3f7a0166cb453409d588008c1f05163 (patch) | |
tree | a9c04b4ba3ab987fd7ae423d77530c3e23d35204 | |
parent | ae206eb32a7c030d62d03aeba45e89508027cd62 (diff) | |
download | FreeBSD-src-3832b4fbc3f7a0166cb453409d588008c1f05163.zip FreeBSD-src-3832b4fbc3f7a0166cb453409d588008c1f05163.tar.gz |
Don't try to continue aborted commands if status was not set.
-rw-r--r-- | sys/cam/ctl/ctl.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/cam/ctl/ctl.c b/sys/cam/ctl/ctl.c index 42b7ff8..37e0339 100644 --- a/sys/cam/ctl/ctl.c +++ b/sys/cam/ctl/ctl.c @@ -5279,9 +5279,10 @@ ctl_config_write_done(union ctl_io *io) * If there is an error, though, we don't want to keep processing. * Instead, just send status back to the initiator. */ - if ((io->io_hdr.flags & CTL_FLAG_IO_CONT) - && (((io->io_hdr.status & CTL_STATUS_MASK) == CTL_STATUS_NONE) - || ((io->io_hdr.status & CTL_STATUS_MASK) == CTL_SUCCESS))) { + if ((io->io_hdr.flags & CTL_FLAG_IO_CONT) && + (io->io_hdr.flags & CTL_FLAG_ABORT) == 0 && + ((io->io_hdr.status & CTL_STATUS_MASK) == CTL_STATUS_NONE || + (io->io_hdr.status & CTL_STATUS_MASK) == CTL_SUCCESS)) { io->scsiio.io_cont(io); return; } |