diff --git a/drivers/firewire/ohci.c b/drivers/firewire/ohci.c
index 3775364f1b5125e62c47c80e7934d236a49ea871..276324d741dfb8cf6e4fbbd027ae44c6f0ff70e0 100644
--- a/drivers/firewire/ohci.c
+++ b/drivers/firewire/ohci.c
@@ -1856,7 +1856,8 @@ static irqreturn_t irq_handler(int irq, void *data)
 		spin_lock(&ohci->lock);
 		update_bus_time(ohci);
 		spin_unlock(&ohci->lock);
-	}
+	} else
+		flush_writes(ohci);
 
 	return IRQ_HANDLED;
 }