diff --git a/drivers/ieee1394/ohci1394.c b/drivers/ieee1394/ohci1394.c
index b892955253913634b0887371cfa13f7e26d292b7..27c550635a360b4096659c4a9b637b1d9dfcad09 100644
--- a/drivers/ieee1394/ohci1394.c
+++ b/drivers/ieee1394/ohci1394.c
@@ -2214,7 +2214,7 @@ static void ohci_schedule_iso_tasklets(struct ti_ohci *ohci,
 
 }
 
-static void ohci_irq_handler(int irq, void *dev_id,
+static irqreturn_t ohci_irq_handler(int irq, void *dev_id,
                              struct pt_regs *regs_are_unused)
 {
 	quadlet_t event, node_id;
@@ -2231,7 +2231,8 @@ static void ohci_irq_handler(int irq, void *dev_id,
 	reg_write(ohci, OHCI1394_IntEventClear, event & ~OHCI1394_busReset);
 	spin_unlock_irqrestore(&ohci->event_lock, flags);
 
-	if (!event) return;
+	if (!event)
+		return IRQ_HANDLED;
 
 	DBGMSG(ohci->id, "IntEvent: %08x", event);
 
@@ -2462,7 +2463,7 @@ static void ohci_irq_handler(int irq, void *dev_id,
 		PRINT(KERN_ERR, ohci->id, "Unhandled interrupt(s) 0x%08x",
 		      event);
 
-	return;
+	return IRQ_HANDLED;
 }
 
 /* Put the buffer back into the dma context */