>From 5732ab12201cff25f036e1e20dc23fdb779c8589 Mon Sep 17 00:00:00 2001 From: Tony Lindgren Date: Thu, 9 Oct 2008 15:25:16 +0300 Subject: [PATCH] Read INTC_REVISION after write to ensure write is posted Based on Russell's earlier patch at: http://www.mail-archive.com/linux-omap@vger.kernel.org/msg02904.html diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c index 4ffb4f1..3ae3c8c 100644 --- a/arch/arm/mach-omap2/irq.c +++ b/arch/arm/mach-omap2/irq.c @@ -64,6 +64,7 @@ static u32 intc_bank_read_reg(struct omap_irq_bank *bank, u16 reg) static void omap_ack_irq(unsigned int irq) { intc_bank_write_reg(0x1, &irq_banks[0], INTC_CONTROL); + intc_bank_read_reg(&irq_banks[0], INTC_REVISION); } static void omap_mask_irq(unsigned int irq) @@ -73,6 +74,7 @@ static void omap_mask_irq(unsigned int irq) irq &= (IRQ_BITS_PER_REG - 1); intc_bank_write_reg(1 << irq, &irq_banks[0], INTC_MIR_SET0 + offset); + intc_bank_read_reg(&irq_banks[0], INTC_REVISION); } static void omap_unmask_irq(unsigned int irq)