[PATCH] driver: net: can: disable clock when it is in enable status

Subsystems: can network drivers, the rest

STALE1778d

3 messages, 2 authors, 2021-10-19 · open the first message on its own page

[PATCH] driver: net: can: disable clock when it is in enable status

From: Meng Li <hidden>
Date: 2021-10-19 09:15:28

If disable a clock when it is already in disable status, there
will be a warning trace generated. So, it is need to confirm
whether what status the clock is in before disable it.

Fixes: a23b97e6255b ("can: rcar_can: Move Renesas CAN driver to rcar dir")
Cc: stable@vger.kernel.org
Signed-off-by: Meng Li <redacted>
---
 drivers/net/can/rcar/rcar_can.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/net/can/rcar/rcar_can.c b/drivers/net/can/rcar/rcar_can.c
index 48575900adb7..e340e32cd145 100644
--- a/drivers/net/can/rcar/rcar_can.c
+++ b/drivers/net/can/rcar/rcar_can.c
@@ -15,6 +15,7 @@
 #include <linux/can/led.h>
 #include <linux/can/dev.h>
 #include <linux/clk.h>
+#include <linux/clk-provider.h>
 #include <linux/of.h>
 
 #define RCAR_CAN_DRV_NAME	"rcar_can"
@@ -857,7 +858,9 @@ static int __maybe_unused rcar_can_suspend(struct device *dev)
 	writew(ctlr, &priv->regs->ctlr);
 	priv->can.state = CAN_STATE_SLEEPING;
 
-	clk_disable(priv->clk);
+	if(__clk_is_enabled(priv->clk))
+		clk_disable(priv->clk);
+
 	return 0;
 }
 
-- 
2.17.1

Re: [PATCH] driver: net: can: disable clock when it is in enable status

From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: 2021-10-19 09:23:36

On 19.10.2021 17:14:16, Meng Li wrote:
If disable a clock when it is already in disable status, there
will be a warning trace generated. So, it is need to confirm
whether what status the clock is in before disable it.

Fixes: a23b97e6255b ("can: rcar_can: Move Renesas CAN driver to rcar dir")
Cc: stable@vger.kernel.org
Signed-off-by: Meng Li <redacted>
Thanks for your patch. This problem should have been resolved with:

https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=f7c05c3987dcfde9a4e8c2d533db013fabebca0d

regards
Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde           |
Embedded Linux                   | https://www.pengutronix.de  |
Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |

RE: [PATCH] driver: net: can: disable clock when it is in enable status

From: Li, Meng <hidden>
Date: 2021-10-19 09:33:39

-----Original Message-----
From: Marc Kleine-Budde <mkl@pengutronix.de>
Sent: Tuesday, October 19, 2021 5:23 PM
To: Li, Meng <redacted>
Cc: wg@grandegger.com; davem@davemloft.net; kuba@kernel.org;
mailhol.vincent@wanadoo.fr; socketcan@hartkopp.net;
ramesh.shanmugasundaram@bp.renesas.com; linux-can@vger.kernel.org;
netdev@vger.kernel.org; linux-kernel@vger.kernel.org
Subject: Re: [PATCH] driver: net: can: disable clock when it is in enable status

On 19.10.2021 17:14:16, Meng Li wrote:
quoted
If disable a clock when it is already in disable status, there will be
a warning trace generated. So, it is need to confirm whether what
status the clock is in before disable it.

Fixes: a23b97e6255b ("can: rcar_can: Move Renesas CAN driver to rcar
dir")
Cc: stable@vger.kernel.org
Signed-off-by: Meng Li <redacted>
Thanks for your patch. This problem should have been resolved with:

https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id
=f7c05c3987dcfde9a4e8c2d533db013fabebca0d
Ok!
Thanks for reminding me.

Regards,
Limeng
regards
Marc

--
Pengutronix e.K.                 | Marc Kleine-Budde           |
Embedded Linux                   | https://www.pengutronix.de  |
Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help