On Tue, Aug 15, 2023 at 1:06 PM Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote: > The Qualcomm LPASS LPI pin controller driver uses one lock for guarding > Read-Modify-Write code for slew rate registers. However the pin > configuration and muxing registers have exactly the same RMW code but > are not protected. > > Pin controller framework does not provide locking here, thus it is > possible to trigger simultaneous change of pin configuration registers > resulting in non-atomic changes. > > Protect from concurrent access by re-using the same lock used to cover > the slew rate register. Using the same lock instead of adding second > one will make more sense, once we add support for newer Qualcomm SoC, > where slew rate is configured in the same register as pin > configuration/muxing. > > Fixes: 6e261d1090d6 ("pinctrl: qcom: Add sm8250 lpass lpi pinctrl driver") > Cc: <stable@xxxxxxxxxxxxxxx> > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Here it would be nice if we took a sweep once this fix is in and switch over to scoped guards, like Bartosz does: https://lore.kernel.org/linux-gpio/20230812183635.5478-1-brgl@xxxxxxxx/ Yours, Linus Walleij