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 > Fixes: 227619c3ff7c ("can: m_can: move runtime PM enable/disable to m_can_platform") > Signed-off-by: Marc Kleine-Budde Reviewed-by: Markus Schneider-Pargmann > --- > 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); > } >