ARM: OMAP4: Fix array size for irq_target_cpu
authorTony Lindgren <tony@atomide.com>
Wed, 5 Sep 2012 00:22:45 +0000 (17:22 -0700)
committerTony Lindgren <tony@atomide.com>
Wed, 5 Sep 2012 00:22:45 +0000 (17:22 -0700)
commite534e871a94ba2e3bfdf0edd3685eb805fc960d8
treeddbfab0d7354bf6d26c78120bf2864f585f7fa49
parent4cbe5a555fa58a79b6ecbb6c531b8bab0650778d
ARM: OMAP4: Fix array size for irq_target_cpu

If NR_IRQS is less than MAX_IRQS, we end up writing past the
irq_target_cpu array in omap_wakeupgen_init():

/* Associate all the IRQs to boot CPU like GIC init does. */
for (i = 0; i < max_irqs; i++)
irq_target_cpu[i] = boot_cpu;

This can happen if SPARSE_IRQ is enabled as by default NR_IRQS is
set to 16. Without this patch we're overwriting other data during
the boot.

Looks like a similar fix was posted by Benoit Cousson earlier
as "ARM: OMAP2+: wakeupgen: Fix wrong array size for irq_target_cpu"
but was lost.

Cc: stable@vger.kernel.org
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/omap-wakeupgen.c