diff options
author | Arun Easi <arun.easi@qlogic.com> | 2014-09-25 12:14:53 +0200 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2014-09-25 14:25:07 +0200 |
commit | 80187f8e7b05dff98c30909b668b5eb72482c3cb (patch) | |
tree | 1c088273de03cab8dcd6fd6d5b7be60132483450 /drivers/scsi | |
parent | qla2xxx: Handle chip reset in target mode. (diff) | |
download | linux-80187f8e7b05dff98c30909b668b5eb72482c3cb.tar.xz linux-80187f8e7b05dff98c30909b668b5eb72482c3cb.zip |
qla2xxx: Host reset handling in ABTS path.
ABTS path takes path similar to regular task management, but
reset_count was not initialized when allocating mcmd causing
the response to get dropped in qlt_xmit_tm_rsp. Fix this by
initializing reset_count correctly.
Signed-off-by: Arun Easi <arun.easi@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_target.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c index 38f3f1f014a4..ccd0ca25db54 100644 --- a/drivers/scsi/qla2xxx/qla_target.c +++ b/drivers/scsi/qla2xxx/qla_target.c @@ -1185,6 +1185,7 @@ static int __qlt_24xx_handle_abts(struct scsi_qla_host *vha, mcmd->sess = sess; memcpy(&mcmd->orig_iocb.abts, abts, sizeof(mcmd->orig_iocb.abts)); + mcmd->reset_count = vha->hw->chip_reset; rc = ha->tgt.tgt_ops->handle_tmr(mcmd, lun, TMR_ABORT_TASK, abts->exchange_addr_to_abort); @@ -3523,6 +3524,7 @@ static int __qlt_abort_task(struct scsi_qla_host *vha, lun = a->u.isp24.fcp_cmnd.lun; unpacked_lun = scsilun_to_int((struct scsi_lun *)&lun); + mcmd->reset_count = vha->hw->chip_reset; rc = ha->tgt.tgt_ops->handle_tmr(mcmd, unpacked_lun, TMR_ABORT_TASK, le16_to_cpu(iocb->u.isp2x.seq_id)); |