diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-07 10:43:43 +0000 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-07 10:43:43 +0000 |
commit | c698fbc627c51ba8ad0e434848499cb4412072da (patch) | |
tree | a266d31e4f91cd5a98ba209b55e21825e6a51f80 /linux/include | |
parent | bf6a78d38280357d2cbb3d3e84ec17f52dae1370 (diff) | |
download | mediapointer-dvb-s2-c698fbc627c51ba8ad0e434848499cb4412072da.tar.gz mediapointer-dvb-s2-c698fbc627c51ba8ad0e434848499cb4412072da.tar.bz2 |
ir-kbd-i2c: Prevent general protection fault on rmmod
From: Jean Delvare <khali@linux-fr.org>
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 'linux/include')
-rw-r--r-- | linux/include/media/ir-kbd-i2c.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/linux/include/media/ir-kbd-i2c.h b/linux/include/media/ir-kbd-i2c.h index 00fa57eb9..07963d705 100644 --- a/linux/include/media/ir-kbd-i2c.h +++ b/linux/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*); }; |