diff options
Diffstat (limited to 'drivers/ata/pata_scc.c')
| -rw-r--r-- | drivers/ata/pata_scc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/ata/pata_scc.c b/drivers/ata/pata_scc.c index e965b251ca24..bbf5aa345e68 100644 --- a/drivers/ata/pata_scc.c +++ b/drivers/ata/pata_scc.c | |||
| @@ -726,7 +726,7 @@ static void scc_bmdma_stop (struct ata_queued_cmd *qc) | |||
| 726 | in_be32(bmid_base + SCC_DMA_CMD) & ~ATA_DMA_START); | 726 | in_be32(bmid_base + SCC_DMA_CMD) & ~ATA_DMA_START); |
| 727 | 727 | ||
| 728 | /* one-PIO-cycle guaranteed wait, per spec, for HDMA1:0 transition */ | 728 | /* one-PIO-cycle guaranteed wait, per spec, for HDMA1:0 transition */ |
| 729 | ata_sff_altstatus(ap); /* dummy read */ | 729 | ata_sff_dma_pause(ap); /* dummy read */ |
| 730 | } | 730 | } |
| 731 | 731 | ||
| 732 | /** | 732 | /** |
| @@ -747,7 +747,8 @@ static u8 scc_bmdma_status (struct ata_port *ap) | |||
| 747 | return host_stat; | 747 | return host_stat; |
| 748 | 748 | ||
| 749 | /* errata A252,A308 workaround: Step4 */ | 749 | /* errata A252,A308 workaround: Step4 */ |
| 750 | if ((ata_sff_altstatus(ap) & ATA_ERR) && (int_status & INTSTS_INTRQ)) | 750 | if ((scc_check_altstatus(ap) & ATA_ERR) |
| 751 | && (int_status & INTSTS_INTRQ)) | ||
| 751 | return (host_stat | ATA_DMA_INTR); | 752 | return (host_stat | ATA_DMA_INTR); |
| 752 | 753 | ||
| 753 | /* errata A308 workaround Step5 */ | 754 | /* errata A308 workaround Step5 */ |
