Message ID | 1380120388-13375-1-git-send-email-yxlraid@gmail.com |
---|---|
State | Not Applicable |
Delegated to: | David Miller |
Headers | show |
Please shorten the subject and explain in detail what this patch changes how and why along with how you tested it and what, if any, behavior changes occur from it. Thanks.
ok, i'll update and re-commit the patch 2013/9/26 Tejun Heo <tj@kernel.org>: > Please shorten the subject and explain in detail what this patch > changes how and why along with how you tested it and what, if any, > behavior changes occur from it. > > Thanks. > > -- > tejun -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c index acfd0f7..8d024a4 100644 --- a/drivers/ata/libahci.c +++ b/drivers/ata/libahci.c @@ -1267,9 +1267,11 @@ int ahci_do_softreset(struct ata_link *link, unsigned int *class, { struct ata_port *ap = link->ap; struct ahci_host_priv *hpriv = ap->host->private_data; + struct ahci_port_priv *pp = ap->private_data; const char *reason = NULL; unsigned long now, msecs; struct ata_taskfile tf; + bool flag = FALSE; int rc; DPRINTK("ENTER\n"); @@ -1279,6 +1281,11 @@ int ahci_do_softreset(struct ata_link *link, unsigned int *class, if (rc && rc != -EOPNOTSUPP) ata_link_warn(link, "failed to reset engine (errno=%d)\n", rc); + if (!ata_is_host_link(link) && pp->fbs_enabled) { + ahci_disable_fbs(ap); + flag = TRUE; + } + ata_tf_init(link->device, &tf); /* issue the first D2H Register FIS */ @@ -1319,6 +1326,9 @@ int ahci_do_softreset(struct ata_link *link, unsigned int *class, } else *class = ahci_dev_classify(ap); + if (flag) + ahci_enable_fbs(ap); + DPRINTK("EXIT, class=%u\n", *class); return 0;
Signed-off-by: Xiangliang Yu <yxlraid@gmail.com> --- drivers/ata/libahci.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-)