diff options
Diffstat (limited to 'drivers/ide/pci/pdc202xx_old.c')
-rw-r--r-- | drivers/ide/pci/pdc202xx_old.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/ide/pci/pdc202xx_old.c b/drivers/ide/pci/pdc202xx_old.c index 23844687deea..5013df84e971 100644 --- a/drivers/ide/pci/pdc202xx_old.c +++ b/drivers/ide/pci/pdc202xx_old.c | |||
@@ -267,11 +267,14 @@ somebody_else: | |||
267 | return (dma_stat & 4) == 4; /* return 1 if INTR asserted */ | 267 | return (dma_stat & 4) == 4; /* return 1 if INTR asserted */ |
268 | } | 268 | } |
269 | 269 | ||
270 | static int pdc202xx_ide_dma_lostirq(ide_drive_t *drive) | 270 | static void pdc202xx_dma_lost_irq(ide_drive_t *drive) |
271 | { | 271 | { |
272 | if (HWIF(drive)->resetproc != NULL) | 272 | ide_hwif_t *hwif = HWIF(drive); |
273 | HWIF(drive)->resetproc(drive); | 273 | |
274 | return __ide_dma_lostirq(drive); | 274 | if (hwif->resetproc != NULL) |
275 | hwif->resetproc(drive); | ||
276 | |||
277 | ide_dma_lost_irq(drive); | ||
275 | } | 278 | } |
276 | 279 | ||
277 | static int pdc202xx_ide_dma_timeout(ide_drive_t *drive) | 280 | static int pdc202xx_ide_dma_timeout(ide_drive_t *drive) |
@@ -347,7 +350,7 @@ static void __devinit init_hwif_pdc202xx(ide_hwif_t *hwif) | |||
347 | hwif->err_stops_fifo = 1; | 350 | hwif->err_stops_fifo = 1; |
348 | 351 | ||
349 | hwif->ide_dma_check = &pdc202xx_config_drive_xfer_rate; | 352 | hwif->ide_dma_check = &pdc202xx_config_drive_xfer_rate; |
350 | hwif->ide_dma_lostirq = &pdc202xx_ide_dma_lostirq; | 353 | hwif->dma_lost_irq = &pdc202xx_dma_lost_irq; |
351 | hwif->ide_dma_timeout = &pdc202xx_ide_dma_timeout; | 354 | hwif->ide_dma_timeout = &pdc202xx_ide_dma_timeout; |
352 | 355 | ||
353 | if (hwif->pci_dev->device != PCI_DEVICE_ID_PROMISE_20246) { | 356 | if (hwif->pci_dev->device != PCI_DEVICE_ID_PROMISE_20246) { |