[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CACRpkdaBWZyoshaOk-PPZ+gwnNj0o05RLyGNmpmhFez_s=A6Lw@mail.gmail.com>
Date: Wed, 15 Nov 2023 11:46:36 +0100
From: Linus Walleij <linus.walleij@...aro.org>
To: Maria Yu <quic_aiquny@...cinc.com>
Cc: andy.shevchenko@...il.com, linux-gpio@...r.kernel.org,
linux-kernel@...r.kernel.org, kernel@...cinc.com,
stable@...r.kernel.org
Subject: Re: [PATCH v3] pinctrl: avoid reload of p state in list iteration
On Wed, Nov 15, 2023 at 11:28 AM Maria Yu <quic_aiquny@...cinc.com> wrote:
> When in the list_for_each_entry iteration, reload of p->state->settings
> with a local setting from old_state will makes the list iteration in a
> infinite loop.
> The typical issue happened, it will frequently have printk message like:
> "not freeing pin xx (xxx) as part of deactivating group xxx - it is
> already used for some other setting".
> This is a compiler-dependent problem, one instance was got using Clang
> version 10.0 plus arm64 architecture with linux version 4.19.
>
> Fixes: 6e5e959dde0d ("pinctrl: API changes to support multiple states per device")
> Signed-off-by: Maria Yu <quic_aiquny@...cinc.com>
> Cc: stable@...r.kernel.org
Patch applied, I edited the commit message a bit.
Thanks a lot for finding this tricky bug!
Yours,
Linus Walleij
Powered by blists - more mailing lists