]> git.baikalelectronics.ru Git - kernel.git/commit
libata: more robust reset failure handling
authorTejun Heo <htejun@gmail.com>
Wed, 31 Oct 2007 01:17:04 +0000 (10:17 +0900)
committerJeff Garzik <jeff@garzik.org>
Sat, 3 Nov 2007 12:46:54 +0000 (08:46 -0400)
commit170eafaedfe4602d90b601ccb1f34798859fa2f9
treea7254a45b25ea52bc77a3340650a9b45386f1650
parentf9ea90e0a5838d75069c27ed25b81ad824e1f963
libata: more robust reset failure handling

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: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/ata/libata-eh.c