[SCSI] ibmvfc: Fix dropped interrupts
authorBrian King <brking@linux.vnet.ibm.com>
Fri, 20 Mar 2009 20:44:35 +0000 (15:44 -0500)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Fri, 3 Apr 2009 14:22:42 +0000 (09:22 -0500)
commit039a08981a49e05f09db969cdd3f38f05a5df46f
treeb7ba49c8740a97ea4be7c7d99445ec3a224f45a7
parent8fe74cf053de7ad2124a894996f84fa890a81093
[SCSI] ibmvfc: Fix dropped interrupts

This patch fixes a problem of possible dropped interrupts. Currently,
the ibmvfc driver has a race condition where after ibmvfc_interrupt
gets run, the platform code clears the interrupt. This can result in
lost interrupts and, in worst case scenarios, result in command
timeouts. Fix this by implementing a tasklet similar to what the
ibmvscsi driver does so that interrupt processing is no longer done in
the actual interrupt handler, which eliminates the race.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/ibmvscsi/ibmvfc.c
drivers/scsi/ibmvscsi/ibmvfc.h