--- /tmp/irq.c 2008-09-16 10:43:30.000000000 +0200 +++ git/arch/arm/mach-omap2/irq.c 2008-09-16 10:46:18.463198000 +0200 @@ -64,6 +64,7 @@ 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 @@ 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)