libata: move PMP SCR access failure during reset to ata_eh_reset()
[deliverable/linux.git] / drivers / ata / libata-eh.c
index 21687bbd9a703ed0a4637323ac62359093d83d59..d8c4a45dcf26326ab7432d84f310f98df362527d 100644 (file)
@@ -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;
 
This page took 0.024198 seconds and 5 git commands to generate.