]> git.baikalelectronics.ru Git - kernel.git/commit
[SCSI] ibmvfc: Error handling fixes
authorBrian King <brking@linux.vnet.ibm.com>
Wed, 29 Oct 2008 13:46:41 +0000 (08:46 -0500)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Mon, 29 Dec 2008 17:24:13 +0000 (11:24 -0600)
commit5e7565b881e0efab8a3ca6e8899ddb8006d6f847
treedb8928e93f09708714f3bed2dd2a2a244721b6b5
parentd0795f7ca73a44fa91c17f3bd3c2559851bf3161
[SCSI] ibmvfc: Error handling fixes

Due to an ambiguity in the VIOS VFC interface specification,
abort/cancel handling is not done correctly and can result in double
completion of commands. In order to cancel all outstanding commands to
a device, a cancel must be sent, followed by an abort task set. After
the responses are received for these commands, there may still be
commands outstanding, in the process of getting flushed back, in which
case, we need to wait for them. This patch removes the assumption that
if the abort and the cancel both complete successfully that the device
queue has been flushed and waits for all the responses to come back.

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