On Thu, May 30, 2024 at 7:42 PM Prabhakar <prabhakar.csengg@xxxxxxxxx> 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> > --- > v2->v3 > - New patch Thanks for your patch! > --- 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) It's definitely safer to unlock only while holding the lock. Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds