summaryrefslogtreecommitdiff
path: root/include/media
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2009-03-07 07:43:43 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 12:43:17 -0300
commitc1089bdc07f06b90f0bc50d0789c2a4833097df7 (patch)
tree61e9ffa2bf7d1f7231730edef9751ab45c0ca1ba /include/media
parentf263bac9f7181df80b732b7bc11a7a4e38ca962f (diff)
downloadlinux-3.10-c1089bdc07f06b90f0bc50d0789c2a4833097df7.tar.gz
linux-3.10-c1089bdc07f06b90f0bc50d0789c2a4833097df7.tar.bz2
linux-3.10-c1089bdc07f06b90f0bc50d0789c2a4833097df7.zip
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.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 00fa57eb9fd..07963d70540 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*);
};