1. 13 1月, 2010 1 次提交
    • M
      sata_promise: don't classify overruns as HSM errors · a2342f46
      Mikael Pettersson 提交于
      When sata_promise encounters an overrun or underrun error it
      translates that to a libata AC_ERR_HSM, causing a hard reset.
      Since over/under-runs were thought to be rare and transient,
      this action seemed reasonable.
      
      Unfortunately it turns out that the controller throws overrun
      errors when e.g. hal polls a CD or DVD writer containing blank
      media, causing long sequences of hard resets and retries before
      EH finally gives up.
      
      This patch updates sata_promise to classify over/under-runs as
      AC_ERR_OTHER instead. This allows libata EH and upper layers to
      retry or fail the operation as they see fit without the disruption
      caused by repeated hard resets.
      
      This fixes a problem using a DVD-RAM drive with sata_promise,
      reported by Thomas Schorpp. I also tested it on a DVD-RW drive.
      Signed-off-by: NMikael Pettersson <mikpe@it.uu.se>
      Tested-by: Nthomas schorpp <thomas.schorpp@googlemail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      a2342f46
  2. 12 1月, 2010 39 次提交