• James Bottomley's avatar
    [SCSI] add global timeout to the scsi mid-layer · b21a4138
    James Bottomley authored
    There are certain rogue devices (and the aic7xxx driver) that return
    BUSY or QUEUE_FULL forever.  This code will apply a global timeout (of
    the total number of retries times the per command timer) to a given
    command.  If it is exceeded, the command is completed regardless of its
    state.
    
    The patch also removes the unused field in the command: timeout and
    timeout_total.
    
    This solves the problem of detecting an endless loop in the mid-layer
    because of BUSY/QUEUE_FULL bouncing, but will not recover the device.
    In the aic7xxx case, the driver can be recovered by sending a bus reset,
    so possibly this should be tied into the error handler?
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
    b21a4138
Name
Last commit
Last update
Documentation Loading commit data...
arch Loading commit data...
crypto Loading commit data...
drivers Loading commit data...
fs Loading commit data...
include Loading commit data...
init Loading commit data...
ipc Loading commit data...
kernel Loading commit data...
lib Loading commit data...
mm Loading commit data...
net Loading commit data...
scripts Loading commit data...
security Loading commit data...
sound Loading commit data...
usr Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...
REPORTING-BUGS Loading commit data...