[patch 18/19] ahci: do not fail softreset if PHY reports no device

From: Greg KH
Date: Tue Oct 10 2006 - 13:19:41 EST


-stable review patch. If anyone has any objections, please let us know.

------------------
From: Tejun Heo <htejun@xxxxxxxxx>

All softreset methods are responsible for detecting device presence
and succeed softreset in such cases. AHCI didn't use to check for
device presence before proceeding with softreset and this caused
unnecessary reset retrials during probing. This patch adds presence
detection to AHCI softreset.

Signed-off-by: Tejun Heo <htejun@xxxxxxxxx>
Signed-off-by: Jeff Garzik <jeff@xxxxxxxxxx>
Cc: Daniel Drake <dsd@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

---
drivers/scsi/ahci.c | 6 ++++++
1 file changed, 6 insertions(+)

--- linux-2.6.17.13.orig/drivers/scsi/ahci.c
+++ linux-2.6.17.13/drivers/scsi/ahci.c
@@ -548,6 +548,12 @@ static int ahci_softreset(struct ata_por

DPRINTK("ENTER\n");

+ if (!sata_dev_present(ap)) {
+ DPRINTK("PHY reports no device\n");
+ *class = ATA_DEV_NONE;
+ return 0;
+ }
+
/* prepare for SRST (AHCI-1.1 10.4.1) */
rc = ahci_stop_engine(ap);
if (rc) {

--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/