Re: [PATCH BUGFIX] can: m_can: make m_can driver work with sleep state pinconfig

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Lothar

On 6/25/20 7:24 AM, Lothar Waßmann wrote:
Hi,

When trying to use the m_can driver on an stm32mp15 based system, I
found that I could not send or receive any data.
Analyzing the pinctrl registers revealed, that the pins were
configured for sleep state even when the can interfaces were in use.

Looking at the m_can_platform.c driver I found that:

commit f524f829b75a ("can: m_can: Create a m_can platform framework")

introduced a call to m_can_class_suspend() in the m_can_runtime_suspend()
function which wasn't there in the original code and which causes the
pins used by the controller to be configured for sleep state.

commit 0704c5743694 ("can: m_can_platform: remove unnecessary m_can_class_resume() call")
already removed a bogus call to m_can_class_resume() from the
m_can_runtime_resume() function, but failed to remove the matching
call to m_can_class_suspend() from the m_can_runtime_suspend() function.

Removing the bogus call to m_can_class_suspend() in the
m_can_runtime_suspend() function fixes this.

Thank you for the patch Richard G has already submitted a similar patch

https://lore.kernel.org/patchwork/patch/1253401/

Dan





[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux