__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
                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 +