* pull-request: can 2020-10-06
@ 2020-10-06 21:37 Marc Kleine-Budde
2020-10-06 21:37 ` [PATCH] can: m_can_platform: don't call m_can_class_suspend in runtime suspend Marc Kleine-Budde
0 siblings, 1 reply; 2+ messages in thread
From: Marc Kleine-Budde @ 2020-10-06 21:37 UTC (permalink / raw)
To: netdev; +Cc: davem, linux-can, kernel
Hello David,
if not too late, I have a pull request of one patch.
The patch is by Lucas Stach and fixes m_can driver by removing an erroneous
call to m_can_class_suspend() in runtime suspend. Which causes the pinctrl
state to get stuck on the "sleep" state, which breaks all CAN functionality on
SoCs where this state is defined.
regards,
Marc
---
The following changes since commit d91dc434f2baa592e9793597421231174d57bbbf:
Merge tag 'rxrpc-fixes-20201005' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs (2020-10-06 06:18:20 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can.git tags/linux-can-fixes-for-5.9-20201006
for you to fetch changes up to 81f1f5ae8b3cbd54fdd994c9e9aacdb7b414a802:
can: m_can_platform: don't call m_can_class_suspend in runtime suspend (2020-10-06 23:29:30 +0200)
----------------------------------------------------------------
linux-can-fixes-for-5.9-20201006
----------------------------------------------------------------
Lucas Stach (1):
can: m_can_platform: don't call m_can_class_suspend in runtime suspend
drivers/net/can/m_can/m_can_platform.c | 2 --
1 file changed, 2 deletions(-)
^ permalink raw reply [flat|nested] 2+ messages in thread* [PATCH] can: m_can_platform: don't call m_can_class_suspend in runtime suspend
2020-10-06 21:37 pull-request: can 2020-10-06 Marc Kleine-Budde
@ 2020-10-06 21:37 ` Marc Kleine-Budde
0 siblings, 0 replies; 2+ messages in thread
From: Marc Kleine-Budde @ 2020-10-06 21:37 UTC (permalink / raw)
To: netdev; +Cc: davem, linux-can, kernel, Lucas Stach, Dan Murphy,
Marc Kleine-Budde
From: Lucas Stach <l.stach@pengutronix.de>
0704c5743694 can: m_can_platform: remove unnecessary m_can_class_resume() call
removed the m_can_class_resume() call in the runtime resume path to get
rid of a infinite recursion, so the runtime resume now only handles the device
clocks.
Unfortunately it did not remove the complementary m_can_class_suspend() call in
the runtime suspend function, so those paths are now unbalanced, which causes
the pinctrl state to get stuck on the "sleep" state, which breaks all CAN
functionality on SoCs where this state is defined. Remove the
m_can_class_suspend() call to fix this.
Fixes: 0704c5743694 can: m_can_platform: remove unnecessary m_can_class_resume() call
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Link: https://lore.kernel.org/r/20200811081545.19921-1-l.stach@pengutronix.de
Acked-by: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
drivers/net/can/m_can/m_can_platform.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/net/can/m_can/m_can_platform.c b/drivers/net/can/m_can/m_can_platform.c
index 38ea5e600fb8..e6d0cb9ee02f 100644
--- a/drivers/net/can/m_can/m_can_platform.c
+++ b/drivers/net/can/m_can/m_can_platform.c
@@ -144,8 +144,6 @@ static int __maybe_unused m_can_runtime_suspend(struct device *dev)
struct net_device *ndev = dev_get_drvdata(dev);
struct m_can_classdev *mcan_class = netdev_priv(ndev);
- m_can_class_suspend(dev);
-
clk_disable_unprepare(mcan_class->cclk);
clk_disable_unprepare(mcan_class->hclk);
--
2.28.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-10-06 21:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-06 21:37 pull-request: can 2020-10-06 Marc Kleine-Budde
2020-10-06 21:37 ` [PATCH] can: m_can_platform: don't call m_can_class_suspend in runtime suspend Marc Kleine-Budde
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).