dahdi_dynamic: Close race on unload if red alarm timer was running when unloaded.
I saw a kernel oops that was the result of the timer running after the dahdi_dynamic module was unloaded. Now we wait for the timer to complete, and then delete it again in case it reactivated itself. Signed-off-by: Shaun Ruffell <sruffell@digium.com> git-svn-id: http://svn.asterisk.org/svn/dahdi/linux/trunk@10625 a0bf4364-ded3-4de4-8d8a-66a801d63aff
This commit is contained in:
parent
d46ad9bca1
commit
9c0bb57efb
@ -857,6 +857,9 @@ static void dahdi_dynamic_cleanup(void)
|
|||||||
tasklet_kill(&dahdi_dynamic_tlet);
|
tasklet_kill(&dahdi_dynamic_tlet);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
del_timer_sync(&alarmcheck);
|
||||||
|
/* Must call again in case it was running before and rescheduled
|
||||||
|
* itself. */
|
||||||
del_timer(&alarmcheck);
|
del_timer(&alarmcheck);
|
||||||
printk(KERN_INFO "DAHDI Dynamic Span support unloaded\n");
|
printk(KERN_INFO "DAHDI Dynamic Span support unloaded\n");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user