ARM: davinci: Check for NULL return from irq_alloc_generic_chip
authorTodd Poynor <toddpoynor@google.com>
Sun, 17 Jul 2011 05:39:35 +0000 (22:39 -0700)
committerSekhar Nori <nsekhar@ti.com>
Tue, 19 Jul 2011 07:19:00 +0000 (12:49 +0530)
Avoid NULL dereference of irq_alloc_generic_chip return in low
memory conditions.

Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
arch/arm/mach-davinci/irq.c

index bfe68ec4e1a67bc1c95f2ae617bfa1bfe2912e58..85e77fd9d56a17546ff59ed0cbd560f4d5edbb7c 100644 (file)
@@ -52,6 +52,12 @@ davinci_alloc_gc(void __iomem *base, unsigned int irq_start, unsigned int num)
        struct irq_chip_type *ct;
 
        gc = irq_alloc_generic_chip("AINTC", 1, irq_start, base, handle_edge_irq);
+       if (!gc) {
+               pr_err("%s: irq_alloc_generic_chip for IRQ %u failed\n",
+                      __func__, irq_start);
+               return;
+       }
+
        ct = gc->chip_types;
        ct->chip.irq_ack = irq_gc_ack;
        ct->chip.irq_mask = irq_gc_mask_clr_bit;