From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH2] CNS3xxx: Fix a WARN() related to IRQ allocation.
Date: Mon, 17 Mar 2014 15:33:49 +0100 [thread overview]
Message-ID: <201403171533.50200.arnd@arndb.de> (raw)
In-Reply-To: <m338iynsp0.fsf@t19.piap.pl>
On Tuesday 04 March 2014, Krzysztof Ha?asa wrote:
> 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>
Applied to next/fixes-non-critical.
Arnd
> --- 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)
>
> MACHINE_START(CNS3420VB, "Cavium Networks CNS3420 Validation Board")
> .atag_offset = 0x100,
> - .nr_irqs = NR_IRQS_CNS3XXX,
> .map_io = cns3420_map_io,
> .init_irq = cns3xxx_init_irq,
> .init_time = cns3xxx_timer_init,
> --- a/arch/arm/mach-cns3xxx/core.c
> +++ b/arch/arm/mach-cns3xxx/core.c
> @@ -400,7 +400,6 @@ static const char *cns3xxx_dt_compat[] __initdata = {
>
> DT_MACHINE_START(CNS3XXX_DT, "Cavium Networks CNS3xxx")
> .dt_compat = cns3xxx_dt_compat,
> - .nr_irqs = NR_IRQS_CNS3XXX,
> .map_io = cns3xxx_map_io,
> .init_irq = cns3xxx_init_irq,
> .init_time = cns3xxx_timer_init,
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: linux-arm-kernel@lists.infradead.org
Cc: "Krzysztof Hałasa" <khalasa@piap.pl>,
"Russell King" <linux@arm.linux.org.uk>,
"Anton Vorontsov" <anton@enomsg.org>,
"Yinghai Lu" <yinghai@kernel.org>,
lkml <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH2] CNS3xxx: Fix a WARN() related to IRQ allocation.
Date: Mon, 17 Mar 2014 15:33:49 +0100 [thread overview]
Message-ID: <201403171533.50200.arnd@arndb.de> (raw)
In-Reply-To: <m338iynsp0.fsf@t19.piap.pl>
On Tuesday 04 March 2014, Krzysztof Hałasa wrote:
> 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>
Applied to next/fixes-non-critical.
Arnd
> --- 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)
>
> MACHINE_START(CNS3420VB, "Cavium Networks CNS3420 Validation Board")
> .atag_offset = 0x100,
> - .nr_irqs = NR_IRQS_CNS3XXX,
> .map_io = cns3420_map_io,
> .init_irq = cns3xxx_init_irq,
> .init_time = cns3xxx_timer_init,
> --- a/arch/arm/mach-cns3xxx/core.c
> +++ b/arch/arm/mach-cns3xxx/core.c
> @@ -400,7 +400,6 @@ static const char *cns3xxx_dt_compat[] __initdata = {
>
> DT_MACHINE_START(CNS3XXX_DT, "Cavium Networks CNS3xxx")
> .dt_compat = cns3xxx_dt_compat,
> - .nr_irqs = NR_IRQS_CNS3XXX,
> .map_io = cns3xxx_map_io,
> .init_irq = cns3xxx_init_irq,
> .init_time = cns3xxx_timer_init,
next prev parent reply other threads:[~2014-03-17 14:33 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-28 11:00 [ARM] CNS3xxx: 3 regressions identified in v3.14-rc4+ Krzysztof Hałasa
2014-02-28 11:00 ` Krzysztof Hałasa
2014-02-28 11:12 ` [PATCH] CNS3xxx: Fix PCIe early iotable_init() Krzysztof Hałasa
2014-02-28 11:12 ` Krzysztof Hałasa
2014-02-28 11:15 ` Arnd Bergmann
2014-02-28 11:15 ` Arnd Bergmann
2014-03-04 6:46 ` Krzysztof Hałasa
2014-03-04 6:46 ` Krzysztof Hałasa
2014-02-28 11:31 ` [ARM] CNS3xxx: 3 regressions identified in v3.14-rc4+ Arnd Bergmann
2014-02-28 11:31 ` Arnd Bergmann
2014-03-04 7:37 ` [PATCH v2] CNS3xxx: Fix PCIe early iotable_init() Krzysztof Hałasa
2014-03-04 7:37 ` Krzysztof Hałasa
2014-03-04 9:08 ` Krzysztof Hałasa
2014-03-04 9:08 ` Krzysztof Hałasa
2014-03-17 14:37 ` Arnd Bergmann
2014-03-17 14:37 ` Arnd Bergmann
2014-03-18 9:36 ` Krzysztof Hałasa
2014-03-18 9:36 ` Krzysztof Hałasa
2014-03-04 10:37 ` [PATCH2] CNS3xxx: Fix a WARN() related to IRQ allocation Krzysztof Hałasa
2014-03-04 10:37 ` Krzysztof Hałasa
2014-03-04 10:50 ` Krzysztof Hałasa
2014-03-04 10:50 ` Krzysztof Hałasa
2014-03-17 14:33 ` Arnd Bergmann [this message]
2014-03-17 14:33 ` Arnd Bergmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201403171533.50200.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.