On 30.05.2024 20:38, Prabhakar wrote: > From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> > > To keep consistency with rzg2l_pinctrl_set_pfc_mode(), acquire the lock > in rzg2l_pinctrl_pm_setup_pfc() during PFC setup. > > Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> Tested-by: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx> # on RZ/G3S > --- > v2->v3 > - New patch > --- > drivers/pinctrl/renesas/pinctrl-rzg2l.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/pinctrl/renesas/pinctrl-rzg2l.c b/drivers/pinctrl/renesas/pinctrl-rzg2l.c > index 1cbf97d416bf..2be088bbbd9f 100644 > --- a/drivers/pinctrl/renesas/pinctrl-rzg2l.c > +++ b/drivers/pinctrl/renesas/pinctrl-rzg2l.c > @@ -2541,7 +2541,9 @@ static void rzg2l_pinctrl_pm_setup_dedicated_regs(struct rzg2l_pinctrl *pctrl, b > static void rzg2l_pinctrl_pm_setup_pfc(struct rzg2l_pinctrl *pctrl) > { > u32 nports = pctrl->data->n_port_pins / RZG2L_PINS_PER_PORT; > + unsigned long flags; > > + spin_lock_irqsave(&pctrl->lock, flags); > pctrl->data->pwpr_pfc_lock_unlock(pctrl, false); > > /* Restore port registers. */ > @@ -2586,6 +2588,7 @@ static void rzg2l_pinctrl_pm_setup_pfc(struct rzg2l_pinctrl *pctrl) > } > > pctrl->data->pwpr_pfc_lock_unlock(pctrl, true); > + spin_unlock_irqrestore(&pctrl->lock, flags); > } > > static int rzg2l_pinctrl_suspend_noirq(struct device *dev)