diff options
author | Jean Delvare <khali@linux-fr.org> | 2009-03-07 13:43:43 +0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-30 19:43:17 +0400 |
commit | c1089bdc07f06b90f0bc50d0789c2a4833097df7 (patch) | |
tree | 61e9ffa2bf7d1f7231730edef9751ab45c0ca1ba /include/media/ir-kbd-i2c.h | |
parent | f263bac9f7181df80b732b7bc11a7a4e38ca962f (diff) | |
download | linux-c1089bdc07f06b90f0bc50d0789c2a4833097df7.tar.xz |
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/ir-kbd-i2c.h')
-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 { /* Used to avoid fast repeating */ unsigned char old; - struct work_struct work; - struct timer_list timer; + struct delayed_work work; char phys[32]; int (*get_key)(struct IR_i2c*, u32*, u32*); }; |