On Wed, 2012-12-19 at 15:24 +0100, Bart Van Assche wrote: > If a SCSI command times out it is passed to the SCSI error > handler. The SCSI error handler will try to abort the commands > that timed out. If aborting failed a device reset will be > attempted. If the device reset also fails a host reset will > be attempted. If the host reset also fails the whole procedure > will be repeated. > > srp_abort() and srp_reset_device() fail for a QP in the error > state. srp_reset_host() fails after host removal has started. > Hence if the SCSI error handler gets invoked after host removal > has started and with the QP in the error state an endless loop > will be triggered. > > Modify the SCSI error handling functions in ib_srp as follows: > - Abort SCSI commands properly even if the QP is in the error > state. > - Make srp_reset_host() reset SCSI requests even after host > removal has already started or if reconnecting fails. > > Signed-off-by: Bart Van Assche <[email protected]>
It's not the cleanest way to handle this, but it is the simplest and we're short on time. Acked-by: David Dillow <[email protected]> -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
