aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2008-05-19 01:15:09 +0900
committerJeff Garzik <jgarzik@redhat.com>2008-05-19 17:51:47 -0400
commite0614db2a398d4d0dc5fb47fe2c2783141262a3e (patch)
tree57723d4765f04821c47e3e0859d90fc5d9ab51bc /drivers/ata
parentf046519fc85a8fdf6a058b4ac9d897cdee6f3e52 (diff)
downloadkernel_samsung_aries-e0614db2a398d4d0dc5fb47fe2c2783141262a3e.zip
kernel_samsung_aries-e0614db2a398d4d0dc5fb47fe2c2783141262a3e.tar.gz
kernel_samsung_aries-e0614db2a398d4d0dc5fb47fe2c2783141262a3e.tar.bz2
libata: ignore recovered PHY errors
No reason to get overzealous about recovered comm and data errors. Some PHYs habitually sets them w/o no good reason and being draconian about these soft error conditions doesn't seem to help anybody. If need ever rises, we might need to add soft PHY error condition, say AC_ERR_MAYBE_ATA_BUS and use it only to determine whether speed down is necessary but I don't think that's very likely to happen. It's far more likely we'll get timeouts or fatal transmission errors if recovered errors are so prominent that they hamper operation. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/libata-eh.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index 751dad0..7894d83 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -1308,12 +1308,7 @@ static void ata_eh_analyze_serror(struct ata_link *link)
unsigned int err_mask = 0, action = 0;
u32 hotplug_mask;
- if (serror & SERR_PERSISTENT) {
- err_mask |= AC_ERR_ATA_BUS;
- action |= ATA_EH_RESET;
- }
- if (serror &
- (SERR_DATA_RECOVERED | SERR_COMM_RECOVERED | SERR_DATA)) {
+ if (serror & (SERR_PERSISTENT | SERR_DATA)) {
err_mask |= AC_ERR_ATA_BUS;
action |= ATA_EH_RESET;
}