diff options
author | Mikael Pettersson <mikpe@it.uu.se> | 2010-01-09 23:32:06 +0100 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2010-01-12 14:33:07 -0500 |
commit | a2342f46437cde56803a36fdf94da635a74ad41c (patch) | |
tree | 6cec79d175ca40743087a6f39a613d564a0cda10 /drivers/ata/ata_piix.c | |
parent | 066000dd856709b6980123eb39b957fe26993f7b (diff) | |
download | linux-a2342f46437cde56803a36fdf94da635a74ad41c.tar.bz2 |
sata_promise: don't classify overruns as HSM errors
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: Mikael Pettersson <mikpe@it.uu.se>
Tested-by: thomas schorpp <thomas.schorpp@googlemail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata/ata_piix.c')
0 files changed, 0 insertions, 0 deletions