diff options
| author | Thomas Gleixner <[email protected]> | 2015-06-21 19:00:43 +0000 |
|---|---|---|
| committer | Thomas Gleixner <[email protected]> | 2015-06-25 09:58:01 +0000 |
| commit | 5c1642e4d2e475bbfb13da15c6ca16a23ba889bb (patch) | |
| tree | f0d146b47857c6da121efc1a123c9b15a1ecfffd /drivers/pwm/pwm-atmel.c | |
| parent | MIPS/pci: Fix race in installing chained IRQ handler (diff) | |
| download | kernel-5c1642e4d2e475bbfb13da15c6ca16a23ba889bb.tar.gz kernel-5c1642e4d2e475bbfb13da15c6ca16a23ba889bb.zip | |
MIPS/ralink: Fix race in installing chained IRQ handler
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().
Search and conversion was done with coccinelle:
@@
expression E1, E2, E3;
@@
(
-if (irq_set_chained_handler(E1, E3) != 0)
- BUG();
|
-irq_set_chained_handler(E1, E3);
)
-irq_set_handler_data(E1, E2);
+irq_set_chained_handler_and_data(E1, E3, E2);
@@
expression E1, E2, E3;
@@
(
-if (irq_set_chained_handler(E1, E3) != 0)
- BUG();
...
|
-irq_set_chained_handler(E1, E3);
...
)
-irq_set_handler_data(E1, E2);
+irq_set_chained_handler_and_data(E1, E3, E2);
Reported-by: Russell King <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Julia Lawall <[email protected]>
Cc: Ralf Baechle <[email protected]>
Cc: Qais Yousef <[email protected]>
Cc: Andrew Bresticker <[email protected]>
Cc: John Crispin <[email protected]>
Cc: [email protected]
Diffstat (limited to 'drivers/pwm/pwm-atmel.c')
0 files changed, 0 insertions, 0 deletions
