projects/linux·commit 2fb8b49f

sata_promise: fix missing PATA cable detection

2fb8b49f · Mikael Pettersson <[email protected]> · 2007-02-07 22:29:56 +01:00

This patch fixes an oversight which caused sata_promise to
not perform cable detection on the TX2plus chips' PATA ports.

Signed-off-by: Mikael Pettersson <[email protected]>
Signed-off-by: Jeff Garzik <[email protected]>
Commit
2fb8b49fb2eac583f0e8dd0ece06f9ad6d8fd792
Parents
f99c6bb6

Changes

1 files changed · +8 −1

FileStatusAddDelContent
drivers/ata/sata_promise.cmodified+8−1View file

drivers/ata/sata_promise.c

View file
diff --git a/drivers/ata/sata_promise.c b/drivers/ata/sata_promise.c
index b2e2e69..da8c362 100644
--- a/drivers/ata/sata_promise.c
+++ b/drivers/ata/sata_promise.c
@@ -564,6 +564,13 @@ static void pdc_thaw(struct ata_port *ap)
readl(mmio + PDC_CTLSTAT); /* flush */
}
+static int pdc_pre_reset(struct ata_port *ap)
+{
+ if (!sata_scr_valid(ap))
+ pdc_pata_cbl_detect(ap);
+ return ata_std_prereset(ap);
+}
+
static void pdc_error_handler(struct ata_port *ap)
{
ata_reset_fn_t hardreset;
@@ -576,7 +583,7 @@ static void pdc_error_handler(struct ata_port *ap)
hardreset = sata_std_hardreset;
/* perform recovery */
- ata_do_eh(ap, ata_std_prereset, ata_std_softreset, hardreset,
+ ata_do_eh(ap, pdc_pre_reset, ata_std_softreset, hardreset,
ata_std_postreset);
}