diff options
Diffstat (limited to 'drivers/scsi/csiostor/csio_scsi.c')
| -rw-r--r-- | drivers/scsi/csiostor/csio_scsi.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/scsi/csiostor/csio_scsi.c b/drivers/scsi/csiostor/csio_scsi.c index 462560b2855e..469d0bc9f5fe 100644 --- a/drivers/scsi/csiostor/csio_scsi.c +++ b/drivers/scsi/csiostor/csio_scsi.c @@ -1713,8 +1713,11 @@ csio_scsi_err_handler(struct csio_hw *hw, struct csio_ioreq *req)  	}  out: -	if (req->nsge > 0) +	if (req->nsge > 0) {  		scsi_dma_unmap(cmnd); +		if (req->dcopy && (host_status == DID_OK)) +			host_status = csio_scsi_copy_to_sgl(hw, req); +	}  	cmnd->result = (((host_status) << 16) | scsi_status);  	cmnd->scsi_done(cmnd);  |