[SCSI] mpt2sas: Timeout occurred within the HANDSHAKE logic while waiting on firmware...
commit29786e19cda2117e12303df67546839591d2afa7
authorKashyap, Desai <kashyap.desai@lsi.com>
Mon, 14 Sep 2009 05:36:21 +0000 (14 11:06 +0530)
committerJames Bottomley <James.Bottomley@suse.de>
Fri, 2 Oct 2009 14:49:01 +0000 (2 09:49 -0500)
treebb573177de0e2d8cfd6b5aa8c2cb102db0cc6e1f
parentbcfb6e6ea46d84bfb541069545e5b0d7f6cc3233
[SCSI] mpt2sas: Timeout occurred within the HANDSHAKE logic while waiting on firmware to ACK.

Following a diag_reset, a request to send an ioc_init is timing out.  The
timeout occurred within the HANDSHAKE logic while waiting on firmware to
acknowledge that the driver had wrote to the doorbell register.  This was
root caused to a logic timeout in the firmware code.  The proposed solution
is for the driver to call the udelay instead of msleep API in function where
its looping reading the interrupt status.  In addition to this change, there
were two additional cases where we deleted the clearing interrupt status
outside handshake context.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/mpt2sas/mpt2sas_base.c