mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-22 20:23:57 +08:00
Input: hil-mlc - use del_timer_sync() when unloading the driver
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>
This commit is contained in:
parent
898d1053f7
commit
e40ec6ff2f
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user