aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-cns3xxx
diff options
context:
space:
mode:
authorKrzysztof Hałasa <khalasa@piap.pl>2014-03-04 05:50:35 -0500
committerArnd Bergmann <arnd@arndb.de>2014-03-17 10:33:20 -0400
commit75efba81513133fdd2f9c1ac9213bf86cc622f62 (patch)
tree1f4edf6dfa5a0fe9873b4371321da40eaea025a3 /arch/arm/mach-cns3xxx
parentf18651eb2c7ac13b9dd0e3b357d07e1d4cd8e00d (diff)
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>
Diffstat (limited to 'arch/arm/mach-cns3xxx')
-rw-r--r--arch/arm/mach-cns3xxx/cns3420vb.c1
-rw-r--r--arch/arm/mach-cns3xxx/core.c1
2 files changed, 0 insertions, 2 deletions
diff --git a/arch/arm/mach-cns3xxx/cns3420vb.c b/arch/arm/mach-cns3xxx/cns3420vb.c
index ce096d678aa4..d863d8729edc 100644
--- a/arch/arm/mach-cns3xxx/cns3420vb.c
+++ b/arch/arm/mach-cns3xxx/cns3420vb.c
@@ -246,7 +246,6 @@ static void __init cns3420_map_io(void)
246 246
247MACHINE_START(CNS3420VB, "Cavium Networks CNS3420 Validation Board") 247MACHINE_START(CNS3420VB, "Cavium Networks CNS3420 Validation Board")
248 .atag_offset = 0x100, 248 .atag_offset = 0x100,
249 .nr_irqs = NR_IRQS_CNS3XXX,
250 .map_io = cns3420_map_io, 249 .map_io = cns3420_map_io,
251 .init_irq = cns3xxx_init_irq, 250 .init_irq = cns3xxx_init_irq,
252 .init_time = cns3xxx_timer_init, 251 .init_time = cns3xxx_timer_init,
diff --git a/arch/arm/mach-cns3xxx/core.c b/arch/arm/mach-cns3xxx/core.c
index e38b279f402c..0aaeb8c19c9c 100644
--- a/arch/arm/mach-cns3xxx/core.c
+++ b/arch/arm/mach-cns3xxx/core.c
@@ -368,7 +368,6 @@ static const char *cns3xxx_dt_compat[] __initdata = {
368 368
369DT_MACHINE_START(CNS3XXX_DT, "Cavium Networks CNS3xxx") 369DT_MACHINE_START(CNS3XXX_DT, "Cavium Networks CNS3xxx")
370 .dt_compat = cns3xxx_dt_compat, 370 .dt_compat = cns3xxx_dt_compat,
371 .nr_irqs = NR_IRQS_CNS3XXX,
372 .map_io = cns3xxx_map_io, 371 .map_io = cns3xxx_map_io,
373 .init_irq = cns3xxx_init_irq, 372 .init_irq = cns3xxx_init_irq,
374 .init_time = cns3xxx_timer_init, 373 .init_time = cns3xxx_timer_init,