diff options
author | Nilesh Javali <nilesh.javali@qlogic.com> | 2013-01-20 23:50:58 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2013-01-29 21:40:23 -0500 |
commit | 026fbd3aaae796d2457898497374b68f3477ee2f (patch) | |
tree | 5455f7c1ba85c1a67c94a0f1b0a1763a8ad89b35 /drivers/scsi/qla4xxx/ql4_os.c | |
parent | 9cb33f184e5d57054caf24c2bd657517e557367c (diff) |
[SCSI] qla4xxx: Quiesce driver activities while loopback
Quiesce all different activities performed by driver upon the link events
while loopback diagnostics is in progress.
Signed-off-by: Nilesh Javali <nilesh.javali@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_os.c')
-rw-r--r-- | drivers/scsi/qla4xxx/ql4_os.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c index 60526bb469d3..1df13872ef9d 100644 --- a/drivers/scsi/qla4xxx/ql4_os.c +++ b/drivers/scsi/qla4xxx/ql4_os.c | |||
@@ -2242,6 +2242,7 @@ static int qla4xxx_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd) | |||
2242 | test_bit(DPC_HA_NEED_QUIESCENT, &ha->dpc_flags) || | 2242 | test_bit(DPC_HA_NEED_QUIESCENT, &ha->dpc_flags) || |
2243 | !test_bit(AF_ONLINE, &ha->flags) || | 2243 | !test_bit(AF_ONLINE, &ha->flags) || |
2244 | !test_bit(AF_LINK_UP, &ha->flags) || | 2244 | !test_bit(AF_LINK_UP, &ha->flags) || |
2245 | test_bit(AF_LOOPBACK, &ha->flags) || | ||
2245 | test_bit(DPC_RESET_HA_FW_CONTEXT, &ha->dpc_flags)) | 2246 | test_bit(DPC_RESET_HA_FW_CONTEXT, &ha->dpc_flags)) |
2246 | goto qc_host_busy; | 2247 | goto qc_host_busy; |
2247 | 2248 | ||
@@ -3480,7 +3481,8 @@ dpc_post_reset_ha: | |||
3480 | } | 3481 | } |
3481 | 3482 | ||
3482 | /* ---- link change? --- */ | 3483 | /* ---- link change? --- */ |
3483 | if (test_and_clear_bit(DPC_LINK_CHANGED, &ha->dpc_flags)) { | 3484 | if (!test_bit(AF_LOOPBACK, &ha->flags) && |
3485 | test_and_clear_bit(DPC_LINK_CHANGED, &ha->dpc_flags)) { | ||
3484 | if (!test_bit(AF_LINK_UP, &ha->flags)) { | 3486 | if (!test_bit(AF_LINK_UP, &ha->flags)) { |
3485 | /* ---- link down? --- */ | 3487 | /* ---- link down? --- */ |
3486 | qla4xxx_mark_all_devices_missing(ha); | 3488 | qla4xxx_mark_all_devices_missing(ha); |