aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-io.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/ide-io.c')
-rw-r--r--drivers/ide/ide-io.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c
index 2e92497b58aa..e85060164203 100644
--- a/drivers/ide/ide-io.c
+++ b/drivers/ide/ide-io.c
@@ -739,7 +739,8 @@ void ide_timer_expiry (unsigned long data)
739 } else if (drive_is_ready(drive)) { 739 } else if (drive_is_ready(drive)) {
740 if (drive->waiting_for_dma) 740 if (drive->waiting_for_dma)
741 hwif->dma_ops->dma_lost_irq(drive); 741 hwif->dma_ops->dma_lost_irq(drive);
742 (void)ide_ack_intr(hwif); 742 if (hwif->ack_intr)
743 hwif->ack_intr(hwif);
743 printk(KERN_WARNING "%s: lost interrupt\n", 744 printk(KERN_WARNING "%s: lost interrupt\n",
744 drive->name); 745 drive->name);
745 startstop = handler(drive); 746 startstop = handler(drive);
@@ -854,7 +855,7 @@ irqreturn_t ide_intr (int irq, void *dev_id)
854 855
855 spin_lock_irqsave(&hwif->lock, flags); 856 spin_lock_irqsave(&hwif->lock, flags);
856 857
857 if (!ide_ack_intr(hwif)) 858 if (hwif->ack_intr && hwif->ack_intr(hwif) == 0)
858 goto out; 859 goto out;
859 860
860 handler = hwif->handler; 861 handler = hwif->handler;