Commit 6a4032de authored by Petukhov Nikolay's avatar Petukhov Nikolay Committed by Tony Lindgren

[PATCH] ARM: OMAP: omap1510 MPU interrupt BUG

__raw_readl return 32bit, but MPU have 16 bit registers

example:
MPU isr=0x0001, but __raw_readl() return isr=0x00010001 -> virtual interrupt 16
desc_handle_irq(0, d, regs) - handled ok
desc_handle_irq(16, d, regs) - interrupt handler = NULL
parent b8656042
......@@ -764,6 +764,10 @@ static void gpio_irq_handler(unsigned int irq, struct irqdesc *desc,
u32 isr_saved, level_mask = 0;
isr_saved = isr = __raw_readl(isr_reg);
if (cpu_is_omap15xx() && (bank->method == METHOD_MPUIO))
isr &= 0x0000ffff;
if (cpu_is_omap24xx())
level_mask =
__raw_readl(bank->base +
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment