Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] Fix direct renaming of hashed controls
@ 2022-10-20 20:46 Maciej S. Szmigiero
  2022-10-20 20:46 ` [PATCH 1/6] ALSA: control: add snd_ctl_rename() Maciej S. Szmigiero
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Maciej S. Szmigiero @ 2022-10-20 20:46 UTC (permalink / raw)
  To: Jaroslav Kysela, Takashi Iwai; +Cc: alsa-devel, linux-kernel

From: "Maciej S. Szmigiero" <maciej.szmigiero@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.

 include/sound/control.h         |  1 +
 sound/core/control.c            | 23 +++++++++++++++++++++++
 sound/pci/ac97/ac97_codec.c     | 32 ++++++++++++++++++++++++--------
 sound/pci/ca0106/ca0106_mixer.c |  2 +-
 sound/pci/emu10k1/emumixer.c    |  2 +-
 sound/pci/hda/patch_realtek.c   |  2 +-
 sound/usb/mixer.c               |  2 +-
 7 files changed, 52 insertions(+), 12 deletions(-)


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-10-21  6:19 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-20 20:46 [PATCH 0/6] Fix direct renaming of hashed controls Maciej S. Szmigiero
2022-10-20 20:46 ` [PATCH 1/6] ALSA: control: add snd_ctl_rename() Maciej S. Szmigiero
2022-10-20 20:46 ` [PATCH 2/6] ALSA: usb-audio: Use snd_ctl_rename() to rename a control Maciej S. Szmigiero
2022-10-20 20:46 ` [PATCH 3/6] ALSA: hda/realtek: " Maciej S. Szmigiero
2022-10-20 20:46 ` [PATCH 4/6] ALSA: emu10k1: " Maciej S. Szmigiero
2022-10-20 20:46 ` [PATCH 5/6] ALSA: ca0106: " Maciej S. Szmigiero
2022-10-20 20:46 ` [PATCH 6/6] ALSA: ac97: " Maciej S. Szmigiero
2022-10-21  6:18 ` [PATCH 0/6] Fix direct renaming of hashed controls Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox