[PATCH 0/6] Fix direct renaming of hashed controls

Takashi Iwai tiwai at suse.de
Fri Oct 21 08:18:47 CEST 2022


On Thu, 20 Oct 2022 22:46:20 +0200,
Maciej S. Szmigiero wrote:
> 
> From: "Maciej S. Szmigiero" <maciej.szmigiero at oracle.com>
> 
> I've noticed that some of mixer controls on my sound card seem to
> be partially broken on the 6.0 kernel - alsactl wasn't able to find them
> when restoring the mixer state.
> 
> The issue was traced down to the recent addition of hashed controls lookup
> in commit c27e1efb61c5 ("ALSA: control: Use xarray for faster lookups").
> 
> Since that commit it is *not* enough to just directly update the control
> name field (like some of ALSA drivers were doing).
> Now the hash entries for the modified control have to be updated too.
> 
> This patch set adds a snd_ctl_rename() function that takes care of doing
> this operation properly for callers that already have the relevant
> struct snd_kcontrol at hand and hold the control write lock (or simply
> haven't registered the card yet).
> 
> These prerequisites hold true for all the call sites modified.
>     
> The core controls change and the emu10k1 patch were runtime tested.
> Similar patches for other devices were only compile tested.

Good catch!
Applied all patches now.


thanks,

Takashi


More information about the Alsa-devel mailing list