diff options
Diffstat (limited to 'drivers/ide/sl82c105.c')
-rw-r--r-- | drivers/ide/sl82c105.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/ide/sl82c105.c b/drivers/ide/sl82c105.c index d25137b04e7a..b0a460625335 100644 --- a/drivers/ide/sl82c105.c +++ b/drivers/ide/sl82c105.c | |||
@@ -61,7 +61,8 @@ static unsigned int get_pio_timings(ide_drive_t *drive, u8 pio) | |||
61 | if (cmd_off == 0) | 61 | if (cmd_off == 0) |
62 | cmd_off = 1; | 62 | cmd_off = 1; |
63 | 63 | ||
64 | if (pio > 2 || ata_id_has_iordy(drive->id)) | 64 | if ((pio > 2 || ata_id_has_iordy(drive->id)) && |
65 | !(pio > 4 && ata_id_is_cfa(drive->id))) | ||
65 | iordy = 0x40; | 66 | iordy = 0x40; |
66 | 67 | ||
67 | return (cmd_on - 1) << 8 | (cmd_off - 1) | iordy; | 68 | return (cmd_on - 1) << 8 | (cmd_off - 1) | iordy; |
@@ -189,14 +190,13 @@ static void sl82c105_dma_start(ide_drive_t *drive) | |||
189 | ide_dma_start(drive); | 190 | ide_dma_start(drive); |
190 | } | 191 | } |
191 | 192 | ||
192 | static void sl82c105_dma_timeout(ide_drive_t *drive) | 193 | static void sl82c105_dma_clear(ide_drive_t *drive) |
193 | { | 194 | { |
194 | struct pci_dev *dev = to_pci_dev(drive->hwif->dev); | 195 | struct pci_dev *dev = to_pci_dev(drive->hwif->dev); |
195 | 196 | ||
196 | DBG(("sl82c105_dma_timeout(drive:%s)\n", drive->name)); | 197 | DBG(("sl82c105_dma_clear(drive:%s)\n", drive->name)); |
197 | 198 | ||
198 | sl82c105_reset_host(dev); | 199 | sl82c105_reset_host(dev); |
199 | ide_dma_timeout(drive); | ||
200 | } | 200 | } |
201 | 201 | ||
202 | static int sl82c105_dma_end(ide_drive_t *drive) | 202 | static int sl82c105_dma_end(ide_drive_t *drive) |
@@ -298,7 +298,7 @@ static const struct ide_dma_ops sl82c105_dma_ops = { | |||
298 | .dma_test_irq = ide_dma_test_irq, | 298 | .dma_test_irq = ide_dma_test_irq, |
299 | .dma_lost_irq = sl82c105_dma_lost_irq, | 299 | .dma_lost_irq = sl82c105_dma_lost_irq, |
300 | .dma_timer_expiry = ide_dma_sff_timer_expiry, | 300 | .dma_timer_expiry = ide_dma_sff_timer_expiry, |
301 | .dma_timeout = sl82c105_dma_timeout, | 301 | .dma_clear = sl82c105_dma_clear, |
302 | .dma_sff_read_status = ide_dma_sff_read_status, | 302 | .dma_sff_read_status = ide_dma_sff_read_status, |
303 | }; | 303 | }; |
304 | 304 | ||