1. 04 Nov, 2008 1 commit
    • Mikael Pettersson's avatar
      sata_promise: add ATA engine reset to reset ops · cadef677
      Mikael Pettersson authored
      Promise ATA engines need to be reset when errors occur.
      That's currently done for errors detected by sata_promise itself,
      but it's not done for errors like timeouts detected outside of
      the low-level driver.
      
      The effect of this omission is that a timeout tends to result
      in a sequence of failed COMRESETs after which libata EH gives
      up and disables the port. At that point the port's ATA engine
      hangs and even reloading the driver will not resume it.
      
      To fix this, make sata_promise override ->hardreset on SATA
      ports with code which calls pdc_reset_port() on the port in
      question before calling libata's hardreset. PATA ports don't
      use ->hardreset, so for those we override ->softreset instead.
      Signed-off-by: default avatarMikael Pettersson <mikpe@it.uu.se>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      cadef677
  2. 03 Nov, 2008 21 commits
  3. 02 Nov, 2008 18 commits