ALSA: emu10k1: Use snd_ctl_rename() to rename a control
authorMaciej S. Szmigiero <maciej.szmigiero@oracle.com>
Thu, 20 Oct 2022 20:46:24 +0000 (22:46 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 21 Oct 2022 06:17:10 +0000 (08:17 +0200)
With the recent addition of hashed controls lookup it's not enough to just
update the control name field, the hash entries for the modified control
have to be updated too.

snd_ctl_rename() takes care of that, so use it instead of directly
modifying the control name.

Fixes: c27e1efb61c5 ("ALSA: control: Use xarray for faster lookups")
Cc: stable@vger.kernel.org
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Link: https://lore.kernel.org/r/38b19f019f95ee78a6e4e59d39afb9e2c3379413.1666296963.git.maciej.szmigiero@oracle.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/emu10k1/emumixer.c

index e9c0fe3b8446159f036b7dde40f0c2a7e82181aa..3c115f8ab96c044a3f94d1a27dfa1a811964ca53 100644 (file)
@@ -1767,7 +1767,7 @@ static int rename_ctl(struct snd_card *card, const char *src, const char *dst)
 {
        struct snd_kcontrol *kctl = ctl_find(card, src);
        if (kctl) {
-               strcpy(kctl->id.name, dst);
+               snd_ctl_rename(card, kctl, dst);
                return 0;
        }
        return -ENOENT;