Re: [PATCH 1/7] can: m_can: m_can_plat_remove(): add missing pm_runtime_disable()

From: Markus Schneider-Pargmann
Date: Tue Aug 19 2025 - 04:23:04 EST


On Tue Aug 12, 2025 at 7:36 PM CEST, Marc Kleine-Budde wrote:
> Commit 227619c3ff7c ("can: m_can: move runtime PM enable/disable to
> m_can_platform") moved the PM runtime enable from the m_can core
> driver into the m_can_platform.
>
> That patch forgot to move the pm_runtime_disable() to
> m_can_plat_remove(), so that unloading the m_can_platform driver
> causes an "Unbalanced pm_runtime_enable!" error message.
>
> Add the missing pm_runtime_disable() to m_can_plat_remove() to fix the
> problem.
>
> Cc: Patrik Flykt <patrik.flykt@xxxxxxxxxxxxxxx>
> Fixes: 227619c3ff7c ("can: m_can: move runtime PM enable/disable to m_can_platform")
> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>

Reviewed-by: Markus Schneider-Pargmann <msp@xxxxxxxxxxxx>

> ---
> drivers/net/can/m_can/m_can_platform.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/can/m_can/m_can_platform.c b/drivers/net/can/m_can/m_can_platform.c
> index b832566efda0..057eaa7b8b4b 100644
> --- a/drivers/net/can/m_can/m_can_platform.c
> +++ b/drivers/net/can/m_can/m_can_platform.c
> @@ -180,7 +180,7 @@ static void m_can_plat_remove(struct platform_device *pdev)
> struct m_can_classdev *mcan_class = &priv->cdev;
>
> m_can_class_unregister(mcan_class);
> -
> + pm_runtime_disable(mcan_class->dev);
> m_can_class_free_dev(mcan_class->net);
> }
>

Attachment: signature.asc
Description: PGP signature