• Kleber S. Souza's avatar
    [SCSI] ipr: fix PCI permanent error handler · 6ff63896
    Kleber S. Souza authored
    The ipr driver can hang if it encounters enough PCI errors
    to trigger the permanent error handler. The driver will attempt
    to initiate a "bringdown" of the adapter and fail all pending
    ops back. However, this bringdown is unlike any other bringdown
    of the adapter in the code as the driver. In this code path we
    end up failing back ops with allow_cmds still set to 1. This results
    in some commands, the HCAM commands in particular, getting immediately
    re-issued to the adapter on the done call, which results in
    an infinite loop in ipr_fail_all_ops. Fix this by setting allow_cmds
    to zero in this path.
    Signed-off-by: default avatarKleber S. Souza <klebers@linux.vnet.ibm.com>
    [brking@linux.vnet.ibm.com: alternate patch substituted]
    Signed-off-by: default avatarBrian King <brking@linux.vnet.ibm.com>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
    6ff63896
ipr.c 217 KB