From: Tejun Heo <htejun@gmail.com>
Date: Sun, 23 Sep 2007 04:14:13 +0000 (+0900)
Subject: libata-pmp-prep: implement EH fast-fail path
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=668108d73bbb1ae85f01db38d6be822fd28ece1f;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

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>
---

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)) {