[SCSI] qla4xxx: Perform context resets in case of context failures.
authorVikas Chaudhary <vikas.chaudhary@qlogic.com>
Fri, 2 Dec 2011 06:42:06 +0000 (22:42 -0800)
committerJames Bottomley <JBottomley@Parallels.com>
Thu, 15 Dec 2011 06:57:41 +0000 (10:57 +0400)
commit4c6a794d2c0affde28f46ef5646cd41cd1a35f06
treec6e5dc2180854e82c3ffbbc33cff66b6d9ebc349
parent0c70d84b794c9a99f7395b617ecaef34c00d82ec
[SCSI] qla4xxx: Perform context resets in case of context failures.

For 4032, context reset was the same as chip reset, and any firmware
issue was recovered by performing a chip reset.
For 82xx, the iSCSI firmware runs along with FCoE and the NIC
firmware contexts, and an error encountered doesnot essentially mean
that a chip reset is necessary.

Perform Chip resets only in the following cases:
1. Mailbox system error.
2. Mailbox command timeout.
3. fw_heartbeat_counter counter stops incrementing.

For all other cases, only perform a context reset.
1. Command Completion with an invalid srb.
2. Other mailbox failures.

Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Signed-off-by: Shyam Sunder <shyam.sunder@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/qla4xxx/ql4_isr.c