summaryrefslogtreecommitdiffstats
path: root/drivers/firewire
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2010-11-30 08:24:19 +0100
committerStefan Richter <stefanr@s5r6.in-berlin.de>2010-12-13 20:39:14 +0100
commite597e9898abe45beff4696159c7fe5c96f53e581 (patch)
treee50555f1356e9c5ad206215df1eed4e0e33bd517 /drivers/firewire
parentc088ab30ebf184afae01d919c77cebcfdce39df3 (diff)
downloadlinux-e597e9898abe45beff4696159c7fe5c96f53e581.tar.gz
linux-e597e9898abe45beff4696159c7fe5c96f53e581.tar.bz2
linux-e597e9898abe45beff4696159c7fe5c96f53e581.zip
firewire: ohci: flush MMIO writes in the interrupt handler
Make sure that interrupt event clear bit writes are executed before the interrupt handler returns. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire')
-rw-r--r--drivers/firewire/ohci.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/firewire/ohci.c b/drivers/firewire/ohci.c
index 3775364f1b51..276324d741df 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;
}