git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
libata: move PMP SCR access failure during reset to ata_eh_reset()
[pandora-kernel.git]
/
drivers
/
ata
/
libata-eh.c
diff --git
a/drivers/ata/libata-eh.c
b/drivers/ata/libata-eh.c
index
21687bb
..
d8c4a45
100644
(file)
--- a/
drivers/ata/libata-eh.c
+++ b/
drivers/ata/libata-eh.c
@@
-2276,6
+2276,11
@@
int ata_eh_reset(struct ata_link *link, int classify,
return rc;
fail:
+ /* if SCR isn't accessible on a fan-out port, PMP needs to be reset */
+ if (!ata_is_host_link(link) &&
+ sata_scr_read(link, SCR_STATUS, &sstatus))
+ rc = -ERESTART;
+
if (rc == -ERESTART || try >= max_tries)
goto out;