From: Oleksij Rempel <[email protected]>

Current code will only warn and then dereference the NULL pointer or
continue, which results in a fatal NULL pointer dereference later.

If the initialization fails, the machine is unusable, so panic right
away.

[ tglx: Massaged changelog and picked the irqdomain panic from the
        next patch]

Signed-off-by: Oleksij Rempel <[email protected]>
Cc: [email protected]
Cc: [email protected]
Link: 
http://lkml.kernel.org/r/[email protected]
Signed-off-by: Thomas Gleixner <[email protected]>
---
 drivers/irqchip/irq-mxs.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Index: tip/drivers/irqchip/irq-mxs.c
===================================================================
--- tip.orig/drivers/irqchip/irq-mxs.c
+++ tip/drivers/irqchip/irq-mxs.c
@@ -97,7 +97,8 @@ static int __init icoll_of_init(struct d
                          struct device_node *interrupt_parent)
 {
        icoll_base = of_iomap(np, 0);
-       WARN_ON(!icoll_base);
+       if (!icoll_base)
+               panic("%s: unable to map resource", np->full_name);
 
        /*
         * Interrupt Collector reset, which initializes the priority
@@ -107,6 +108,9 @@ static int __init icoll_of_init(struct d
 
        icoll_domain = irq_domain_add_linear(np, ICOLL_NUM_IRQS,
                                             &icoll_irq_domain_ops, NULL);
-       return icoll_domain ? 0 : -ENODEV;
+       if (!icoll_domain)
+               panic("%s: unable to create irqdomain", np->full_name);
+
+       return 0;
 }
 IRQCHIP_DECLARE(mxs, "fsl,icoll", icoll_of_init);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to