ARM: SAMSUNG: Check NULL return from irq_alloc_generic_chip
authorTodd Poynor <toddpoynor@google.com>
Sat, 16 Jul 2011 02:13:47 +0000 (11:13 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Sat, 16 Jul 2011 02:13:47 +0000 (11:13 +0900)
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
arch/arm/plat-samsung/irq-uart.c
arch/arm/plat-samsung/irq-vic-timer.c

index 32582c0958e3676c74818bbcee40388953d099a9..38c53646bd64d3067d639eb001eca6db4eeda871 100644 (file)
@@ -54,6 +54,13 @@ static void __init s3c_init_uart_irq(struct s3c_uart_irq *uirq)
 
        gc = irq_alloc_generic_chip("s3c-uart", 1, uirq->base_irq, reg_base,
                                    handle_level_irq);
+
+       if (!gc) {
+               pr_err("%s: irq_alloc_generic_chip for IRQ %u failed\n",
+                      __func__, uirq->base_irq);
+               return;
+       }
+
        ct = gc->chip_types;
        ct->chip.irq_ack = irq_gc_ack;
        ct->chip.irq_mask = irq_gc_mask_set_bit;
index a607546ddbd0c25dd9c71f1517b51455324bd11f..f714d060370d6f1647e29e2367591dafa242b4b6 100644 (file)
@@ -54,6 +54,13 @@ void __init s3c_init_vic_timer_irq(unsigned int num, unsigned int timer_irq)
 
        s3c_tgc = irq_alloc_generic_chip("s3c-timer", 1, timer_irq,
                                         S3C64XX_TINT_CSTAT, handle_level_irq);
+
+       if (!s3c_tgc) {
+               pr_err("%s: irq_alloc_generic_chip for IRQ %d failed\n",
+                      __func__, timer_irq);
+               return;
+       }
+
        ct = s3c_tgc->chip_types;
        ct->chip.irq_mask = irq_gc_mask_clr_bit;
        ct->chip.irq_unmask = irq_gc_mask_set_bit;