ARM/LPC32xx: Use irq not hwirq for __irq_set_handler_locked()
authorThomas Gleixner <tglx@linutronix.de>
Tue, 23 Jun 2015 13:36:36 +0000 (15:36 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 26 Jun 2015 19:37:47 +0000 (21:37 +0200)
irq_data->hwirq is not guaranteed to be the same as irq_data->irq. It
might be in that particular case, but it's wrong nevertheless.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Roland Stigge <stigge@antcom.de>
arch/arm/mach-lpc32xx/irq.c

index 9ecb8f9c4ef507788e6187fef5f3371815d3c982..d4f7dc87042b28c565ff47721492d4876f655447 100644 (file)
@@ -283,25 +283,25 @@ static int lpc32xx_set_irq_type(struct irq_data *d, unsigned int type)
        case IRQ_TYPE_EDGE_RISING:
                /* Rising edge sensitive */
                __lpc32xx_set_irq_type(d->hwirq, 1, 1);
-               __irq_set_handler_locked(d->hwirq, handle_edge_irq);
+               __irq_set_handler_locked(d->irq, handle_edge_irq);
                break;
 
        case IRQ_TYPE_EDGE_FALLING:
                /* Falling edge sensitive */
                __lpc32xx_set_irq_type(d->hwirq, 0, 1);
-               __irq_set_handler_locked(d->hwirq, handle_edge_irq);
+               __irq_set_handler_locked(d->irq, handle_edge_irq);
                break;
 
        case IRQ_TYPE_LEVEL_LOW:
                /* Low level sensitive */
                __lpc32xx_set_irq_type(d->hwirq, 0, 0);
-               __irq_set_handler_locked(d->hwirq, handle_level_irq);
+               __irq_set_handler_locked(d->irq, handle_level_irq);
                break;
 
        case IRQ_TYPE_LEVEL_HIGH:
                /* High level sensitive */
                __lpc32xx_set_irq_type(d->hwirq, 1, 0);
-               __irq_set_handler_locked(d->hwirq, handle_level_irq);
+               __irq_set_handler_locked(d->irq, handle_level_irq);
                break;
 
        /* Other modes are not supported */