x86: DT: Fix return condition in irq_create_of_mapping()
authorThomas Gleixner <tglx@linutronix.de>
Thu, 24 Mar 2011 21:53:10 +0000 (22:53 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 24 Mar 2011 22:17:56 +0000 (23:17 +0100)
The xlate() function returns 0 or a negative error code. Returning the
error code blindly will be seen as an huge irq number by the calling
function because irq_create_of_mapping() returns an unsigned value.

Return 0 (NO_IRQ) as required.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
arch/x86/kernel/devicetree.c

index 7a8cebc9ff298ce0a788cc269e83efcd57a607d2..9c91badb6ca9a82d1b78232fcae7bc9f546a5b2d 100644 (file)
@@ -65,7 +65,7 @@ unsigned int irq_create_of_mapping(struct device_node *controller,
                return 0;
        ret = ih->xlate(ih, intspec, intsize, &virq, &type);
        if (ret)
-               return ret;
+               return 0;
        if (type == IRQ_TYPE_NONE)
                return virq;
        /* set the mask if it is different from current */