• Tejun Heo's avatar
    libata: stop being overjealous about non-IO commands · f90f0828
    Tejun Heo authored
    libata EH always revalidated device and retried failed command after
    error except for ATAPI CCs.  This is unnecessary and hinders with
    users issuing direct commands.  This patch makes the following
    changes.
    
    * Make sata_sil24 not request ATA_EH_REVALIDATE on device errors.
      sil24 is the only driver which does this.  All others let libata EH
      core code decide.
    
    * Don't request revalidation after device error of non-IO command.
      Revalidation doesn't really help anybody.  As ATA_EH_REVALIDATE
      isn't set by default, there's no reason to clear it after sense data
      is read.  Kill ATA_EH_REVALIDATE clearing code while at it.
    
    * Don't retry non-IO command after device error.  Device has rejected
      the command.  There's no point in retrying.
    Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
    Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
    f90f0828
libata-eh.c 70.5 KB