summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/cam/ctl/ctl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/cam/ctl/ctl.c b/sys/cam/ctl/ctl.c
index 567cfba..4af391e 100644
--- a/sys/cam/ctl/ctl.c
+++ b/sys/cam/ctl/ctl.c
@@ -1150,6 +1150,7 @@ ctl_isc_event_handler(ctl_ha_channel channel, ctl_ha_event event, int param)
*/
io = msg->hdr.serializing_sc;
io->io_hdr.msg_type = CTL_MSG_DATAMOVE_DONE;
+ io->io_hdr.flags &= ~CTL_FLAG_DMA_INPROG;
io->io_hdr.flags |= CTL_FLAG_IO_ACTIVE;
io->io_hdr.port_status = msg->scsi.fetd_status;
io->scsiio.residual = msg->scsi.residual;
@@ -11060,6 +11061,7 @@ ctl_failover_lun(struct ctl_lun *lun)
io->flags |= CTL_FLAG_FAILOVER;
} else { /* This can be only due to DATAMOVE */
io->msg_type = CTL_MSG_DATAMOVE_DONE;
+ io->flags &= ~CTL_FLAG_DMA_INPROG;
io->flags |= CTL_FLAG_IO_ACTIVE;
io->port_status = 31340;
ctl_enqueue_isc((union ctl_io *)io);
@@ -12445,6 +12447,7 @@ ctl_datamove(union ctl_io *io)
return;
}
io->io_hdr.flags &= ~CTL_FLAG_IO_ACTIVE;
+ io->io_hdr.flags |= CTL_FLAG_DMA_INPROG;
if (lun)
mtx_unlock(&lun->lun_lock);
} else {
OpenPOWER on IntegriCloud