On 5/31/20 8:13 PM, Marek Vasut wrote: > On systems like stm32mp1 where pins have both "default" and "sleep" pinmux > states in DT, the pins are in "sleep" state by default. Switch the pins into > the "default" state when bringing the interface up in m_can_start(), because > otherwise no CAN communication is possible. This replicates the behavior of > the resume path, which does the same. > > Signed-off-by: Marek Vasut <marex@xxxxxxx> > Cc: Alexandre Torgue <alexandre.torgue@xxxxxx> > Cc: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> > Cc: Wolfgang Grandegger <wg@xxxxxxxxxxxxxx> > To: linux-can@xxxxxxxxxxxxxxx > --- > drivers/net/can/m_can/m_can.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/net/can/m_can/m_can.c b/drivers/net/can/m_can/m_can.c > index 02c5795b7393..76fadf2b8ac2 100644 > --- a/drivers/net/can/m_can/m_can.c > +++ b/drivers/net/can/m_can/m_can.c > @@ -1247,6 +1247,8 @@ static void m_can_start(struct net_device *dev) > /* basic m_can configuration */ > m_can_chip_config(dev); > > + pinctrl_pm_select_default_state(cdev->dev); > + > cdev->can.state = CAN_STATE_ERROR_ACTIVE; > > m_can_enable_all_interrupts(cdev); > Any news on this ?