diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2015-06-23 09:36:36 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2015-06-26 15:37:47 -0400 |
commit | 93b6eb77b49064ed1de5726560a0849f3ebccc2c (patch) | |
tree | acf978203b39f1bebe585e10ac3699f6271042eb | |
parent | bbc9d21fc0071c245c19077155ea371092ff0db8 (diff) |
ARM/LPC32xx: Use irq not hwirq for __irq_set_handler_locked()
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>
-rw-r--r-- | arch/arm/mach-lpc32xx/irq.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm/mach-lpc32xx/irq.c b/arch/arm/mach-lpc32xx/irq.c index 9ecb8f9c4ef5..d4f7dc87042b 100644 --- a/arch/arm/mach-lpc32xx/irq.c +++ b/arch/arm/mach-lpc32xx/irq.c | |||
@@ -283,25 +283,25 @@ static int lpc32xx_set_irq_type(struct irq_data *d, unsigned int type) | |||
283 | case IRQ_TYPE_EDGE_RISING: | 283 | case IRQ_TYPE_EDGE_RISING: |
284 | /* Rising edge sensitive */ | 284 | /* Rising edge sensitive */ |
285 | __lpc32xx_set_irq_type(d->hwirq, 1, 1); | 285 | __lpc32xx_set_irq_type(d->hwirq, 1, 1); |
286 | __irq_set_handler_locked(d->hwirq, handle_edge_irq); | 286 | __irq_set_handler_locked(d->irq, handle_edge_irq); |
287 | break; | 287 | break; |
288 | 288 | ||
289 | case IRQ_TYPE_EDGE_FALLING: | 289 | case IRQ_TYPE_EDGE_FALLING: |
290 | /* Falling edge sensitive */ | 290 | /* Falling edge sensitive */ |
291 | __lpc32xx_set_irq_type(d->hwirq, 0, 1); | 291 | __lpc32xx_set_irq_type(d->hwirq, 0, 1); |
292 | __irq_set_handler_locked(d->hwirq, handle_edge_irq); | 292 | __irq_set_handler_locked(d->irq, handle_edge_irq); |
293 | break; | 293 | break; |
294 | 294 | ||
295 | case IRQ_TYPE_LEVEL_LOW: | 295 | case IRQ_TYPE_LEVEL_LOW: |
296 | /* Low level sensitive */ | 296 | /* Low level sensitive */ |
297 | __lpc32xx_set_irq_type(d->hwirq, 0, 0); | 297 | __lpc32xx_set_irq_type(d->hwirq, 0, 0); |
298 | __irq_set_handler_locked(d->hwirq, handle_level_irq); | 298 | __irq_set_handler_locked(d->irq, handle_level_irq); |
299 | break; | 299 | break; |
300 | 300 | ||
301 | case IRQ_TYPE_LEVEL_HIGH: | 301 | case IRQ_TYPE_LEVEL_HIGH: |
302 | /* High level sensitive */ | 302 | /* High level sensitive */ |
303 | __lpc32xx_set_irq_type(d->hwirq, 1, 0); | 303 | __lpc32xx_set_irq_type(d->hwirq, 1, 0); |
304 | __irq_set_handler_locked(d->hwirq, handle_level_irq); | 304 | __irq_set_handler_locked(d->irq, handle_level_irq); |
305 | break; | 305 | break; |
306 | 306 | ||
307 | /* Other modes are not supported */ | 307 | /* Other modes are not supported */ |