• Brian King's avatar
    [SCSI] ibmvfc: Error handling fixes · ad8dcffa
    Brian King authored
    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: default avatarBrian King <brking@linux.vnet.ibm.com>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
    ad8dcffa
ibmvfc.c 113 KB