• Tejun Heo's avatar
    libata: more robust reset failure handling · 08cf69d0
    Tejun Heo authored
    Reset failure is a critical error.  It results in disabling the link
    requiring user intervention to re-enable it.  Make reset failure
    handling more robust such that libata EH doesn't give up too early.
    
    * Temporary glitches during hardreset may lead to classification
      failure when there's no softreset available.  Retry instead of
      giving up.
    
    * Initial softreset or follow up softreset may fail classification.
      Move classification error handling block out of followup softreset
      block such that both cases are handled and retry instead of giving
      up.  Also, on the last try, give ATA class a blind shot.
    Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
    Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
    08cf69d0
libata-eh.c 70.8 KB