[tip:irq/core] genirq, ARM: Fix boot on ARM platforms

From: tip-bot for Anand Gadiyar
Date: Sat Oct 16 2010 - 12:38:57 EST


Commit-ID: 05d0ca85c91013d5f73c43fb566bde09a9718019
Gitweb: http://git.kernel.org/tip/05d0ca85c91013d5f73c43fb566bde09a9718019
Author: Anand Gadiyar <gadiyar@xxxxxx>
AuthorDate: Thu, 14 Oct 2010 22:59:57 +0530
Committer: Ingo Molnar <mingo@xxxxxxx>
CommitDate: Sat, 16 Oct 2010 18:22:03 +0200

genirq, ARM: Fix boot on ARM platforms

Commit b683de2b3 in linux-next as of 20101014 (genirq: Query
arch for number of early descriptors) seems to have broken
bootup on several ARM boards - my beagleboard gives the
following dump with earlyprintk:

NR_IRQS:402
Unable to handle kernel NULL pointer dereference at virtual
address 00000028 pgd = c0004000
[00000028] *pgd=00000000
Internal error: Oops: 5 [#1]
last sysfs file:
Modules linked in:
CPU: 0 Not tainted
(2.6.36-rc7-next-20101014-linux-next-20101012+ #40) PC is at
init_IRQ+0x14/0x48 LR is at start_kernel+0x150/0x2c0
[...]

We seem to be using desc->status without assigning desc to
anything. Fix this by adding back the code that was originally
there.

Signed-off-by: Anand Gadiyar <gadiyar@xxxxxx>
Tested-by: Linus Walleij <linus.walleij@xxxxxxxxxxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
LKML-Reference: <1287077397-21781-1-git-send-email-gadiyar@xxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
arch/arm/kernel/irq.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c
index 5456d11..0e65d7e 100644
--- a/arch/arm/kernel/irq.c
+++ b/arch/arm/kernel/irq.c
@@ -157,8 +157,10 @@ void __init init_IRQ(void)
struct irq_desc *desc;
int irq;

- for (irq = 0; irq < nr_irqs; irq++)
+ for (irq = 0; irq < nr_irqs; irq++) {
+ desc = irq_to_desc_alloc_node(irq, 0);
desc->status |= IRQ_NOREQUEST | IRQ_NOPROBE;
+ }

init_arch_irq();
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/