From: Dmitry Torokhov Date: Fri, 14 Nov 2014 22:16:14 +0000 (-0800) Subject: irqchip: bcm7120-l2: Fix error handling of irq_of_parse_and_map X-Git-Tag: v3.18-rc7~3^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=714710e1a2f6528be83d0f1c6cdf1e79a676d234;p=thirdparty%2Fkernel%2Flinux.git irqchip: bcm7120-l2: Fix error handling of irq_of_parse_and_map Return value of irq_of_parse_and_map() is unsigned int, with 0 indicating failure, so testing for negative result never works. Signed-off-by: Dmitry Torokhov Acked-by: Florian Fainelli Tested-by: Kevin Cernekee Link: https://lkml.kernel.org/r/20141114221614.GA37395@dtor-ws Signed-off-by: Jason Cooper --- diff --git a/drivers/irqchip/irq-bcm7120-l2.c b/drivers/irqchip/irq-bcm7120-l2.c index b9f4fb808e49a..5fb38a2ac2261 100644 --- a/drivers/irqchip/irq-bcm7120-l2.c +++ b/drivers/irqchip/irq-bcm7120-l2.c @@ -101,9 +101,9 @@ static int bcm7120_l2_intc_init_one(struct device_node *dn, int parent_irq; parent_irq = irq_of_parse_and_map(dn, irq); - if (parent_irq < 0) { + if (!parent_irq) { pr_err("failed to map interrupt %d\n", irq); - return parent_irq; + return -EINVAL; } data->irq_map_mask |= be32_to_cpup(map_mask + irq);