diff options
author | Jean Delvare <khali@linux-fr.org> | 2009-03-07 05:43:43 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-30 11:43:17 -0400 |
commit | c1089bdc07f06b90f0bc50d0789c2a4833097df7 (patch) | |
tree | 61e9ffa2bf7d1f7231730edef9751ab45c0ca1ba /include/media | |
parent | f263bac9f7181df80b732b7bc11a7a4e38ca962f (diff) |
V4L/DVB (10939): ir-kbd-i2c: Prevent general protection fault on rmmod
The removal of the timer which polls the infrared input is racy.
Replacing the timer with a delayed work solves the problem.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media')
-rw-r--r-- | include/media/ir-kbd-i2c.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/include/media/ir-kbd-i2c.h b/include/media/ir-kbd-i2c.h index 00fa57eb9fde..07963d705400 100644 --- a/include/media/ir-kbd-i2c.h +++ b/include/media/ir-kbd-i2c.h | |||
@@ -14,8 +14,7 @@ struct IR_i2c { | |||
14 | /* Used to avoid fast repeating */ | 14 | /* Used to avoid fast repeating */ |
15 | unsigned char old; | 15 | unsigned char old; |
16 | 16 | ||
17 | struct work_struct work; | 17 | struct delayed_work work; |
18 | struct timer_list timer; | ||
19 | char phys[32]; | 18 | char phys[32]; |
20 | int (*get_key)(struct IR_i2c*, u32*, u32*); | 19 | int (*get_key)(struct IR_i2c*, u32*, u32*); |
21 | }; | 20 | }; |