summaryrefslogtreecommitdiffstats
path: root/drivers/ata/libata-eh.c
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2007-09-23 06:14:13 +0200
committerJeff Garzik <jeff@garzik.org>2007-10-12 20:55:41 +0200
commit668108d73bbb1ae85f01db38d6be822fd28ece1f (patch)
tree72362b9c55d4558d3d40db647589bcc5fa1b9a09 /drivers/ata/libata-eh.c
parentlibata-pmp-prep: implement ATA_LFLAG_DISABLED (diff)
downloadlinux-668108d73bbb1ae85f01db38d6be822fd28ece1f.tar.xz
linux-668108d73bbb1ae85f01db38d6be822fd28ece1f.zip
libata-pmp-prep: implement EH fast-fail path
If PMP itself becomes inaccessible while trying to link a downstream link, spending time to recover the downstream link doesn't make any sense. Make EH skip retry and fail fast if -ERESTART is received. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata/libata-eh.c')
-rw-r--r--drivers/ata/libata-eh.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index fbbf79163900..3c31e10caf21 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -2050,7 +2050,7 @@ int ata_eh_reset(struct ata_link *link, int classify,
if (rc == -EAGAIN)
rc = 0;
- if (rc && try < ARRAY_SIZE(ata_eh_reset_timeouts)) {
+ if (rc && rc != -ERESTART && try < ARRAY_SIZE(ata_eh_reset_timeouts)) {
unsigned long now = jiffies;
if (time_before(now, deadline)) {