From 030eefbcba9499b2aa24171895881afe6c385fd9 Mon Sep 17 00:00:00 2001 From: Mac Lin Date: Mon, 10 Jan 2011 22:37:57 +0800 Subject: [PATCH] libahci: Fixup for softwreset failures with direct connected disks with CONFIG_SATA_PMP enabled --- drivers/ata/libahci.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c index ebc08d6..081548f 100644 --- a/drivers/ata/libahci.c +++ b/drivers/ata/libahci.c @@ -1302,10 +1302,15 @@ static int ahci_softreset(struct ata_link *link, unsigned int *class, unsigned long deadline) { int pmp = sata_srst_pmp(link); + int ret; DPRINTK("ENTER\n"); - return ahci_do_softreset(link, class, pmp, deadline, ahci_check_ready); + ret = ahci_do_softreset(link, class, pmp, deadline, ahci_check_ready); + if (ret && pmp) + return ahci_do_softreset(link, class, 0, deadline, + ahci_check_ready); + return ret; } EXPORT_SYMBOL_GPL(ahci_do_softreset); -- 1.7.3