CNS3xxx: Fix a WARN() related to IRQ allocation.
WARNING: at drivers/irqchip/irq-gic.c:952 gic_init_bases+0xe4/0x2b8() Cannot allocate irq_descs @ IRQ16, assuming pre-allocated Backtrace: gic_init_bases from cns3xxx_init_irq+0x24/0x34 cns3xxx_init_irq from init_IRQ+0x24/0x2c init_IRQ from start_kernel+0x1a8/0x338 start_kernel from 0x2000806c The problem is that 64 CNS3xxx CPU interrupts, starting at 32, are allocated by the ARM platform-independent code (as requested by machine_desc->nr_irqs = 96), and then the GIC code tries to allocate them again. Tested on Gateworks Laguna board, masqueraded as CNS3420VB. Signed-off-by: Krzysztof Hałasa <khalasa@piap.pl> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
parent
f18651eb2c
commit
75efba8151
|
@ -246,7 +246,6 @@ static void __init cns3420_map_io(void)
|
||||||
|
|
||||||
MACHINE_START(CNS3420VB, "Cavium Networks CNS3420 Validation Board")
|
MACHINE_START(CNS3420VB, "Cavium Networks CNS3420 Validation Board")
|
||||||
.atag_offset = 0x100,
|
.atag_offset = 0x100,
|
||||||
.nr_irqs = NR_IRQS_CNS3XXX,
|
|
||||||
.map_io = cns3420_map_io,
|
.map_io = cns3420_map_io,
|
||||||
.init_irq = cns3xxx_init_irq,
|
.init_irq = cns3xxx_init_irq,
|
||||||
.init_time = cns3xxx_timer_init,
|
.init_time = cns3xxx_timer_init,
|
||||||
|
|
|
@ -368,7 +368,6 @@ static const char *cns3xxx_dt_compat[] __initdata = {
|
||||||
|
|
||||||
DT_MACHINE_START(CNS3XXX_DT, "Cavium Networks CNS3xxx")
|
DT_MACHINE_START(CNS3XXX_DT, "Cavium Networks CNS3xxx")
|
||||||
.dt_compat = cns3xxx_dt_compat,
|
.dt_compat = cns3xxx_dt_compat,
|
||||||
.nr_irqs = NR_IRQS_CNS3XXX,
|
|
||||||
.map_io = cns3xxx_map_io,
|
.map_io = cns3xxx_map_io,
|
||||||
.init_irq = cns3xxx_init_irq,
|
.init_irq = cns3xxx_init_irq,
|
||||||
.init_time = cns3xxx_timer_init,
|
.init_time = cns3xxx_timer_init,
|
||||||
|
|
Loading…
Reference in New Issue