Some driver uses tasklet_disable in device remove/close process, tasklet_disable will inc tasklet->count and return. If the tasklet is not handled yet because some softirq pressure, the tasklet will placed on the tasklet_vec, never have a chance to excute. This might lead to ksoftirqd heavy loaded, wakeup with pending_softirq, but tasklet is disabled. tasklet_kill should be used in this case. Signed-off-by: Xiaotian Feng <dannyfeng@tencent.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net> |
||
|---|---|---|
| .. | ||
| b43legacy.h | ||
| debugfs.c | ||
| debugfs.h | ||
| dma.c | ||
| dma.h | ||
| ilt.c | ||
| ilt.h | ||
| Kconfig | ||
| leds.c | ||
| leds.h | ||
| main.c | ||
| main.h | ||
| Makefile | ||
| phy.c | ||
| phy.h | ||
| pio.c | ||
| pio.h | ||
| radio.c | ||
| radio.h | ||
| rfkill.c | ||
| rfkill.h | ||
| sysfs.c | ||
| sysfs.h | ||
| xmit.c | ||
| xmit.h | ||