isdn/gigaset: use tasklet_kill in device remove/release process
PATCH 1/1 isdn/gigaset: use tasklet_kill in device remove/release process
Some driver uses tasklet_disable in device remove/release process, tasklet_disable will inc tasklet->count and return. If the tasklet is not handled yet under some softirq pressure, the tasklet will be placed on the tasklet_vec, never have a chance to be excuted. This might lead to a heavy loaded ksoftirqd, wakeup with pending_softirq, but tasklet is disabled. tasklet_kill should be used in this case.
--- drivers/isdn/gigaset/interface.c | 1 - 1 file changed, 1 deletion(-)
drivers/isdn/gigaset/interface.c +0 -1
@@ -544,7 +544,6 @@ void gigaset_if_free(struct cardstate *cs)if (!drv->have_tty)return ; -tasklet_disable (&cs->if_wake_tasklet);tasklet_kill (&cs->if_wake_tasklet); cs->tty_dev =NULL ;tty_unregister_device (drv->tty, cs->minor_index);
Signature · 1 line
1.7.9.5
Am 31.10.2012 11:44, schrieb Xiaotian Feng:
Quoted 7 lines
Some driver uses
tasklet_disablein device remove/release process,tasklet_disablewill inctasklet->countand return. If the tasklet is not handled yet under some softirq pressure, the tasklet will be placed on thetasklet_vec, never have a chance to be excuted. This might lead to a heavy loaded ksoftirqd, wakeup withpending_softirq, but tasklet is disabled.tasklet_killshould be used in this case.
Quoted 5 lines
Signed-off-by Xiaotian Feng <[email protected]>Cc Hansjoerg Lipp <[email protected]>Cc Tilman Schmidt <[email protected]>Cc Karsten Keil <[email protected]>
Quoted 17 lines
--- drivers/isdn/gigaset/interface.c | 1 - 1 file changed, 1 deletion(-)drivers/isdn/gigaset/interface.c +0
-1@@ -544,7 +544,6 @@ void gigaset_if_free(struct cardstate *cs)if (!drv->have_tty)return ; -tasklet_disable (&cs->if_wake_tasklet);tasklet_kill (&cs->if_wake_tasklet); cs->tty_dev =NULL ;tty_unregister_device (drv->tty, cs->minor_index);
Signature · 4 lines
Tilman Schmidt E-Mail: [email protected] Bonn, Germany Diese Nachricht besteht zu 100% aus wiederverwerteten Bits. Ungeöffnet mindestens haltbar bis: (siehe Rückseite)