aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_def.h
diff options
context:
space:
mode:
authorSantosh Vernekar <santosh.vernekar@qlogic.com>2010-05-28 18:08:25 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-07-27 13:01:25 -0400
commitcdbb0a4f31c486e4f6fb6e673a892f4f5205f91c (patch)
treeef386912ef74cb07ae79b522db0a31fc7ce14b03 /drivers/scsi/qla2xxx/qla_def.h
parent3f3b6f98cb33043cba04f45a2f2c43b8303c120c (diff)
[SCSI] qla2xxx: Handle outstanding mbx cmds on hung f/w scenarios.
Outstanding mailbox commands, have no way to recover on f/w hung, and we timeout on waiting for mbx response. This in turn affects the recovery process as follows: - We might already be in dpc while waiting for mbx to complete, so recovery for that pci function will never get invoked. Reset Timeout (10 sec) is far less than mbx timeout (30 sec). - Other mbx cmds will get stuck due to serial mbx access. Solution is to identify fw-hung scenario and handle outstanding mbx commands to have an early-exit instead of waiting for response. Other mbx commands waiting for access will also do an early-exit if fw-hung is still applicable. Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_def.h')
-rw-r--r--drivers/scsi/qla2xxx/qla_def.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
index f0e792a82dd..2bb187e23db 100644
--- a/drivers/scsi/qla2xxx/qla_def.h
+++ b/drivers/scsi/qla2xxx/qla_def.h
@@ -2413,6 +2413,7 @@ struct qla_hw_data {
2413 uint32_t cpu_affinity_enabled :1; 2413 uint32_t cpu_affinity_enabled :1;
2414 uint32_t disable_msix_handshake :1; 2414 uint32_t disable_msix_handshake :1;
2415 uint32_t fcp_prio_enabled :1; 2415 uint32_t fcp_prio_enabled :1;
2416 uint32_t fw_hung :1;
2416 } flags; 2417 } flags;
2417 2418
2418 /* This spinlock is used to protect "io transactions", you must 2419 /* This spinlock is used to protect "io transactions", you must