If tasklet_disable() is called before related tasklet handled, tasklet_kill will never be finished. tasklet_kill is enough.
Signed-off-by: Xiaotian Feng <[email protected]> Cc: Dmitry Torokhov <[email protected]> Cc: Tony Lindgren <[email protected]> Cc: Sourav Poddar <[email protected]> Cc: Josh <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: [email protected] --- drivers/input/keyboard/omap-keypad.c | 3 +-- drivers/input/serio/hil_mlc.c | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/input/keyboard/omap-keypad.c b/drivers/input/keyboard/omap-keypad.c index 4a5fcc8..6c52447 100644 --- a/drivers/input/keyboard/omap-keypad.c +++ b/drivers/input/keyboard/omap-keypad.c @@ -362,12 +362,11 @@ static int __devexit omap_kp_remove(struct platform_device *pdev) struct omap_kp *omap_kp = platform_get_drvdata(pdev); /* disable keypad interrupt handling */ - tasklet_disable(&kp_tasklet); + tasklet_kill(&kp_tasklet); omap_writew(1, OMAP1_MPUIO_BASE + OMAP_MPUIO_KBD_MASKIT); free_irq(omap_kp->irq, omap_kp); del_timer_sync(&omap_kp->timer); - tasklet_kill(&kp_tasklet); /* unregister everything */ input_unregister_device(omap_kp->input); diff --git a/drivers/input/serio/hil_mlc.c b/drivers/input/serio/hil_mlc.c index bfd3865..7fc1700 100644 --- a/drivers/input/serio/hil_mlc.c +++ b/drivers/input/serio/hil_mlc.c @@ -1011,7 +1011,6 @@ static void __exit hil_mlc_exit(void) { del_timer_sync(&hil_mlcs_kicker); - tasklet_disable(&hil_mlcs_tasklet); tasklet_kill(&hil_mlcs_tasklet); } -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

