mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-04 01:24:12 +08:00
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>
This commit is contained in:
parent
842b08bbee
commit
c523530ce1
@ -1265,9 +1265,6 @@ void unregister_c_can_dev(struct net_device *dev)
|
|||||||
{
|
{
|
||||||
struct c_can_priv *priv = netdev_priv(dev);
|
struct c_can_priv *priv = netdev_priv(dev);
|
||||||
|
|
||||||
/* disable all interrupts */
|
|
||||||
c_can_enable_all_interrupts(priv, DISABLE_ALL_INTERRUPTS);
|
|
||||||
|
|
||||||
unregister_candev(dev);
|
unregister_candev(dev);
|
||||||
|
|
||||||
c_can_pm_runtime_disable(priv);
|
c_can_pm_runtime_disable(priv);
|
||||||
|
Loading…
Reference in New Issue
Block a user