projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
898d105
)
Input: hil-mlc - use del_timer_sync() when unloading the driver
author
Dmitry Torokhov
<dmitry.torokhov@gmail.com>
Sat, 12 Dec 2009 05:39:51 +0000
(21:39 -0800)
committer
Dmitry Torokhov
<dmitry.torokhov@gmail.com>
Sat, 12 Dec 2009 07:45:25 +0000
(23:45 -0800)
del_timer() does not wait for the timer to finish running before returning
and therefore is technically not safe. Also make sure to enable tasklet
before kicking timer that will schedule it.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/serio/hil_mlc.c
patch
|
blob
|
history
diff --git
a/drivers/input/serio/hil_mlc.c
b/drivers/input/serio/hil_mlc.c
index 7ba9f2b2c0414c1e7389fef80045e7c61a9a6d01..6cd03ebaf5fb39e6dfb8db0445f02b4ffdf552b4 100644
(file)
--- a/
drivers/input/serio/hil_mlc.c
+++ b/
drivers/input/serio/hil_mlc.c
@@
-993,10
+993,8
@@
int hil_mlc_unregister(hil_mlc *mlc)
static int __init hil_mlc_init(void)
{
- init_timer(&hil_mlcs_kicker);
- hil_mlcs_kicker.expires = jiffies + HZ;
- hil_mlcs_kicker.function = &hil_mlcs_timer;
- add_timer(&hil_mlcs_kicker);
+ setup_timer(&hil_mlcs_kicker, &hil_mlcs_timer, 0);
+ mod_timer(&hil_mlcs_kicker, jiffies + HZ);
tasklet_enable(&hil_mlcs_tasklet);
@@
-1005,7
+1003,7
@@
static int __init hil_mlc_init(void)
static void __exit hil_mlc_exit(void)
{
- del_timer(&hil_mlcs_kicker);
+ del_timer
_sync
(&hil_mlcs_kicker);
tasklet_disable(&hil_mlcs_tasklet);
tasklet_kill(&hil_mlcs_tasklet);