summaryrefslogtreecommitdiff
path: root/drivers/scsi/qla2xxx/qla_init.c
diff options
context:
space:
mode:
authorArun Easi <arun.easi@qlogic.com>2014-09-25 10:14:52 (GMT)
committerChristoph Hellwig <hch@lst.de>2014-09-25 12:25:07 (GMT)
commitb6a029e1b0aba337ee54de66b1e428dd3bb624ca (patch)
treeedaa9031fe199f7af294f7d9bcf52628bc43b8c3 /drivers/scsi/qla2xxx/qla_init.c
parentc0cb44967b4a934252091557c8e46345f7ef7259 (diff)
downloadlinux-b6a029e1b0aba337ee54de66b1e428dd3bb624ca.tar.xz
qla2xxx: Handle chip reset in target mode.
A chip reset can occur after driver submits command to the stack. Abort command processing if a chip reset has occurred or in progress when you get a follow up for a command. 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/qla2xxx/qla_init.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_init.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 1d66f2f..a4dde7e 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -4575,6 +4575,10 @@ qla2x00_abort_isp_cleanup(scsi_qla_host_t *vha)
/* Requeue all commands in outstanding command list. */
qla2x00_abort_all_cmds(vha, DID_RESET << 16);
}
+
+ ha->chip_reset++;
+ /* memory barrier */
+ wmb();
}
/*