aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnilKumar Ch <anilkumar@ti.com>2012-09-27 17:54:58 +0530
committerMarc Kleine-Budde <mkl@pengutronix.de>2012-09-27 16:34:02 +0200
commitc523530ce17defe6b28ccfe622c506488f430866 (patch)
treeacc79f80593868bbca51263be1a687c553eb8cd3
parent842b08bbee448b2069aaebb7f18b40942ad2a1bd (diff)
can: c_can: fix segfault during rmmod
This patch fixes an oops which occurs during unloading the driver. unregister_c_can_dev() is doing c_can/d_can module interrupts disable, which requires module clock enable. c_can/d_can interrupts enable/disable is handled properly in c_can_start and c_can_stop, so removing from unregister_c_can_dev(). The problem was triggered by adding runtime PM support to the c_can driver by this commit: 4cdd34b can: c_can: Add runtime PM support to Bosch C_CAN/D_CAN controller Signed-off-by: AnilKumar Ch <anilkumar@ti.com> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
-rw-r--r--drivers/net/can/c_can/c_can.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/net/can/c_can/c_can.c b/drivers/net/can/c_can/c_can.c
index 2c4a21f9844..e5180dfddba 100644
--- a/drivers/net/can/c_can/c_can.c
+++ b/drivers/net/can/c_can/c_can.c
@@ -1265,9 +1265,6 @@ void unregister_c_can_dev(struct net_device *dev)
{
struct c_can_priv *priv = netdev_priv(dev);
- /* disable all interrupts */
- c_can_enable_all_interrupts(priv, DISABLE_ALL_INTERRUPTS);
-
unregister_candev(dev);
c_can_pm_runtime_disable(priv);