[PATCH 13/23] gpio: nomadik: fix offset bug in nmk_pmx_set()

Linus Walleij linus.walleij at linaro.org
Mon Feb 19 13:56:32 PST 2024


On Wed, Feb 14, 2024 at 5:24 PM Théo Lebrun <theo.lebrun at bootlin.com> wrote:

> Previously, the statement looked like:
>
>     slpm[x] &= ~BIT(g->pins[i]);
>
> Where:
>  - slpm is a unsigned int pointer;
>  - g->pins[i] is a pin number which can grow to more than 32.
>
> The expected shift amount is a pin bank offset.
>
> This bug does not occur on every group or pin: the altsetting must be
> NMK_GPIO_ALT_C and the pin must be 32 or above. It is possible that it
> occurred. For example, in pinctrl-nomadik-db8500.c, pin group i2c3_c_2
> has the right altsetting and has pins 229 and 230.
>
> Signed-off-by: Théo Lebrun <theo.lebrun at bootlin.com>

Ah good catch!
Reviewed-by: Linus Walleij <linus.walleij at linaro.org>

I this something I could just apply as a fix or are there
dependencies on other patches?

Yours,
Linus Walleij



More information about the linux-arm-kernel mailing list