projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a44735f
)
gpio: gpio-tegra: Fix race in installing chained IRQ handler
author
Russell King
<
[email protected]
>
Tue, 16 Jun 2015 22:06:50 +0000
(23:06 +0100)
committer
Thomas Gleixner
<
[email protected]
>
Thu, 18 Jun 2015 12:03:08 +0000
(14:03 +0200)
Fix a race where a pending interrupt could be received and the handler
called before the handler's data has been setup, by converting to
irq_set_chained_handler_and_data().
Signed-off-by: Russell King <
[email protected]
>
Cc: Alexandre Courbot <
[email protected]
>
Cc: Hans Ulli Kroll <
[email protected]
>
Cc: Jason Cooper <
[email protected]
>
Cc: Lee Jones <
[email protected]
>
Cc: Linus Walleij <
[email protected]
>
Cc: Thierry Reding <
[email protected]
>
Cc:
[email protected]
Link:
http://lkml.kernel.org/r/
[email protected]
Signed-off-by: Thomas Gleixner <
[email protected]
>
drivers/gpio/gpio-tegra.c
patch
|
blob
|
history
diff --git
a/drivers/gpio/gpio-tegra.c
b/drivers/gpio/gpio-tegra.c
index 1741981d53c8fc2e9565e54d10f29ecf6552a7c7..56dcc8ed98de89dcb33013858f25617167df8612 100644
(file)
--- a/
drivers/gpio/gpio-tegra.c
+++ b/
drivers/gpio/gpio-tegra.c
@@
-515,8
+515,8
@@
static int tegra_gpio_probe(struct platform_device *pdev)
for (i = 0; i < tegra_gpio_bank_count; i++) {
bank = &tegra_gpio_banks[i];
- irq_set_chained_handler
(bank->irq, tegra_gpio_irq_handler);
-
irq_set_handler_data(bank->irq
, bank);
+ irq_set_chained_handler
_and_data(bank->irq,
+
tegra_gpio_irq_handler
, bank);
for (j = 0; j < 4; j++)
spin_lock_init(&bank->lvl_lock[j]);