]> bbs.cooldavid.org Git - net-next-2.6.git/commit
[SCSI] qla4xxx: Handle outstanding mbx cmds on hung f/w scenarios
authorNilesh Javali <nilesh.javali@qlogic.com>
Fri, 30 Jul 2010 08:58:07 +0000 (14:28 +0530)
committerJames Bottomley <James.Bottomley@suse.de>
Fri, 6 Aug 2010 17:00:12 +0000 (12:00 -0500)
commit21033639699d883668f6937b03e7b710771ad37e
tree1eef4627c27ae3c1f8a42e7a009a34455431ac01
parent2ccdf0dce41a39db3721fe801dac5c5effa8e4be
[SCSI] qla4xxx: 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: Nilesh Javali <nilesh.javali@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Signed-off-by: Ravi Anand <ravi.anand@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/qla4xxx/ql4_def.h
drivers/scsi/qla4xxx/ql4_glbl.h
drivers/scsi/qla4xxx/ql4_mbx.c
drivers/scsi/qla4xxx/ql4_nx.c
drivers/scsi/qla4xxx/ql4_os.c