Hi Mark, Thanks for the fix.
On 03/12/2018 11:04 AM, Marc Kleine-Budde wrote: > From: Bich HEMON <bich.he...@st.com> > > Make sure to apply the correct pin state in suspend/resume callbacks. > Putting pins in sleep state saves power. > > Signed-off-by: Bich Hemon <bich.he...@st.com> > Signed-off-by: Marc Kleine-Budde <m...@pengutronix.de> > --- > drivers/net/can/m_can/m_can.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/net/can/m_can/m_can.c b/drivers/net/can/m_can/m_can.c > index 74170b0d23cf..b397a33f3d32 100644 > --- a/drivers/net/can/m_can/m_can.c > +++ b/drivers/net/can/m_can/m_can.c > @@ -26,6 +26,7 @@ > #include <linux/pm_runtime.h> > #include <linux/iopoll.h> > #include <linux/can/dev.h> > +#include <linux/pinctrl/consumer.h> > > /* napi related */ > #define M_CAN_NAPI_WEIGHT 64 > @@ -1700,6 +1701,8 @@ static __maybe_unused int m_can_suspend(struct device > *dev) > m_can_clk_stop(priv); > } > > + pinctrl_pm_select_sleep_state(dev); > + > priv->can.state = CAN_STATE_SLEEPING; > > return 0; > @@ -1710,6 +1713,8 @@ static __maybe_unused int m_can_resume(struct device > *dev) > struct net_device *ndev = dev_get_drvdata(dev); > struct m_can_priv *priv = netdev_priv(ndev); > > + pinctrl_pm_select_default_state(dev); > + > m_can_init_ram(priv); > > priv->can.state = CAN_STATE_ERROR_ACTIVE; > Acked-by: Bich Hemon <bich.he...@st.com>