diff options
author | Mikael Pettersson <mikpe@it.uu.se> | 2007-02-07 22:29:56 +0100 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-02-15 18:04:00 -0500 |
commit | 2fb8b49fb2eac583f0e8dd0ece06f9ad6d8fd792 (patch) | |
tree | 72d5fa2296aaf459939bbb8b6d2f761a2d047d02 /drivers/ata/sata_promise.c | |
parent | f99c6bb6e2e9c35bd3dc0b1d0faa28bd6970930d (diff) |
sata_promise: fix missing PATA cable detection
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 <mikpe@it.uu.se>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata/sata_promise.c')
-rw-r--r-- | drivers/ata/sata_promise.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/ata/sata_promise.c b/drivers/ata/sata_promise.c index b2e2e695c92..da8c362c3eb 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); } |