aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/pdc202xx_old.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/pci/pdc202xx_old.c')
-rw-r--r--drivers/ide/pci/pdc202xx_old.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/ide/pci/pdc202xx_old.c b/drivers/ide/pci/pdc202xx_old.c
index 5013df84e971..ae628b86e18a 100644
--- a/drivers/ide/pci/pdc202xx_old.c
+++ b/drivers/ide/pci/pdc202xx_old.c
@@ -277,11 +277,14 @@ static void pdc202xx_dma_lost_irq(ide_drive_t *drive)
277 ide_dma_lost_irq(drive); 277 ide_dma_lost_irq(drive);
278} 278}
279 279
280static int pdc202xx_ide_dma_timeout(ide_drive_t *drive) 280static void pdc202xx_dma_timeout(ide_drive_t *drive)
281{ 281{
282 if (HWIF(drive)->resetproc != NULL) 282 ide_hwif_t *hwif = HWIF(drive);
283 HWIF(drive)->resetproc(drive); 283
284 return __ide_dma_timeout(drive); 284 if (hwif->resetproc != NULL)
285 hwif->resetproc(drive);
286
287 ide_dma_timeout(drive);
285} 288}
286 289
287static void pdc202xx_reset_host (ide_hwif_t *hwif) 290static void pdc202xx_reset_host (ide_hwif_t *hwif)
@@ -351,7 +354,7 @@ static void __devinit init_hwif_pdc202xx(ide_hwif_t *hwif)
351 354
352 hwif->ide_dma_check = &pdc202xx_config_drive_xfer_rate; 355 hwif->ide_dma_check = &pdc202xx_config_drive_xfer_rate;
353 hwif->dma_lost_irq = &pdc202xx_dma_lost_irq; 356 hwif->dma_lost_irq = &pdc202xx_dma_lost_irq;
354 hwif->ide_dma_timeout = &pdc202xx_ide_dma_timeout; 357 hwif->dma_timeout = &pdc202xx_dma_timeout;
355 358
356 if (hwif->pci_dev->device != PCI_DEVICE_ID_PROMISE_20246) { 359 if (hwif->pci_dev->device != PCI_DEVICE_ID_PROMISE_20246) {
357 if (!(hwif->udma_four)) 360 if (!(hwif->udma_four))