Re: [PATCH 15/78] ASoC: codecs: cs42l43: Use guard() for mutex locks
From: David Laight
Date: Wed Jun 17 2026 - 09:03:39 EST
On Wed, 17 Jun 2026 11:57:49 +0100
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxx> wrote:
> On Wed, Jun 17, 2026 at 05:31:32PM +0700, phucduc.bui@xxxxxxxxx wrote:
> > From: bui duc phuc <phucduc.bui@xxxxxxxxx>
> >
> > Clean up the code using guard() for mutex locks.
> > Merely code refactoring, and no behavior change.
> >
> > Signed-off-by: bui duc phuc <phucduc.bui@xxxxxxxxx>
> > ---
> > @@ -913,17 +908,13 @@ int cs42l43_jack_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *u
> > if (override >= e->items)
> > return -EINVAL;
> >
> > - mutex_lock(&priv->jack_lock);
> > + guard(mutex)(&priv->jack_lock);
>
> I believe you have to use scoped_guard here, as there is a return
> from the function above, if memory serves it attempts to release
> the mutex on that path despite it being above the guard.
Indeed.
I believe clang will complain.
That makes these mechanical conversions of existing code dangerous churn.
While using guard() (etc) can make it easier to ensure the lock is released
when functions have multiple error exits, I'm not convinced it makes the
code any easier to read (other people may disagree).
David
>
> Be worth having a quick scan through the rest of the series for
> this as well.
>
> Thanks,
> Charles
>