]> git.baikalelectronics.ru Git - kernel.git/commit
drivers/net: fix tasklet misuse issue
authorXiaotian Feng <xtfeng@gmail.com>
Tue, 13 Nov 2012 19:47:36 +0000 (19:47 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 15 Nov 2012 02:50:10 +0000 (21:50 -0500)
commitab54d79e7f3d3a7277c0dc8ec5e9e93adca5d597
tree64fc5d4c2cf468c841050bed08774bd254d5edbf
parent58486f3acf726759a475b96ea499f0637a981610
drivers/net: fix tasklet misuse issue

In commit 91c65391, drivers uses tasklet_kill to avoid put disabled tasklet
on the tasklet vec. But some of the drivers uses tasklet_init & tasklet_disable
in the driver init code, then tasklet_enable when it is opened. This makes
tasklet_enable on a killed tasklet and make ksoftirqd crazy then. Normally,
drivers should use tasklet_init/tasklet_kill on device open/remove, and use
tasklet_disable/tasklet_enable on device suspend/resume.

Reported-by: Peter Wu <lekensteyn@gmail.com>
Tested-by: Peter Wu <lekensteyn@gmail.com>
Signed-off-by: Xiaotian Feng <dannyfeng@tencent.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/jme.c
drivers/net/ethernet/micrel/ksz884x.c
drivers/net/ethernet/xilinx/xilinx_axienet_main.c