git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
Input: matrix_keypad - fix race when disabling interrupts
[pandora-kernel.git]
/
drivers
/
input
/
keyboard
/
matrix_keypad.c
diff --git
a/drivers/input/keyboard/matrix_keypad.c
b/drivers/input/keyboard/matrix_keypad.c
index
e2ae657
..
4389ed3
100644
(file)
--- a/
drivers/input/keyboard/matrix_keypad.c
+++ b/
drivers/input/keyboard/matrix_keypad.c
@@
-214,8
+214,10
@@
static void matrix_keypad_stop(struct input_dev *dev)
{
struct matrix_keypad *keypad = input_get_drvdata(dev);
+ spin_lock_irq(&keypad->lock);
keypad->stopped = true;
- mb();
+ spin_unlock_irq(&keypad->lock);
+
flush_work(&keypad->work.work);
/*
* matrix_keypad_scan() will leave IRQs enabled;