aboutsummaryrefslogtreecommitdiffstats
path: root/include/media/ir-kbd-i2c.h
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2009-03-07 05:43:43 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 11:43:17 -0400
commitc1089bdc07f06b90f0bc50d0789c2a4833097df7 (patch)
tree61e9ffa2bf7d1f7231730edef9751ab45c0ca1ba /include/media/ir-kbd-i2c.h
parentf263bac9f7181df80b732b7bc11a7a4e38ca962f (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/ir-kbd-i2c.h')
-rw-r--r--include/media/ir-kbd-i2c.h3
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};