* [tip:irq/core] ARM: gemini: Fix race in installing GPIO chained IRQ handler
[not found] <E1Z4z07-0002SO-Gv@rmk-PC.arm.linux.org.uk>
@ 2015-06-18 12:07 ` tip-bot for Russell King
0 siblings, 0 replies; only message in thread
From: tip-bot for Russell King @ 2015-06-18 12:07 UTC (permalink / raw)
To: linux-tip-commits
Cc: ulli.kroll, linux-kernel, gnurou, mingo, linus.walleij, jason,
hpa, tglx, thierry.reding, rmk+kernel, lee.jones
Commit-ID: 7f77c5c39d2eb50e7362f29f654a2c221b6a5b83
Gitweb: http://git.kernel.org/tip/7f77c5c39d2eb50e7362f29f654a2c221b6a5b83
Author: Russell King <rmk+kernel@arm.linux.org.uk>
AuthorDate: Tue, 16 Jun 2015 23:06:35 +0100
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Thu, 18 Jun 2015 14:03:08 +0200
ARM: gemini: Fix race in installing GPIO chained IRQ handler
The gemini code was installing its chained interrupt handler (which
enables the interrupt) before it was setting its data, which is bad if
the IRQ was previously pending. Avoid this problem by converting it to
irq_set_chained_handler_and_data().
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Alexandre Courbot <gnurou@gmail.com>
Cc: Hans Ulli Kroll <ulli.kroll@googlemail.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: linux-arm-kernel@lists.infradead.org
Link: http://lkml.kernel.org/r/E1Z4z07-0002SO-Gv@rmk-PC.arm.linux.org.uk
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
arch/arm/mach-gemini/gpio.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-gemini/gpio.c b/arch/arm/mach-gemini/gpio.c
index f8cb571..3292f2e 100644
--- a/arch/arm/mach-gemini/gpio.c
+++ b/arch/arm/mach-gemini/gpio.c
@@ -223,8 +223,8 @@ void __init gemini_gpio_init(void)
set_irq_flags(j, IRQF_VALID);
}
- irq_set_chained_handler(IRQ_GPIO(i), gpio_irq_handler);
- irq_set_handler_data(IRQ_GPIO(i), (void *)i);
+ irq_set_chained_handler_and_data(IRQ_GPIO(i), gpio_irq_handler,
+ (void *)i);
}
BUG_ON(gpiochip_add(&gemini_gpio_chip));
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2015-06-18 12:07 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <E1Z4z07-0002SO-Gv@rmk-PC.arm.linux.org.uk>
2015-06-18 12:07 ` [tip:irq/core] ARM: gemini: Fix race in installing GPIO chained IRQ handler tip-bot for Russell King
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®