diff options
author | Oswald Buddenhagen <oswald.buddenhagen@gmx.de> | 2023-04-05 22:12:19 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-04-20 12:10:24 +0200 |
commit | 69108a8a45c61461bddca06e084ad5b2e7111612 (patch) | |
tree | c9708741bc47162944b4bc5167d4c679e5d21d99 /sound | |
parent | e63a515d11de1002747187d327f6734ddd6a6f49 (diff) | |
download | linux-stable-69108a8a45c61461bddca06e084ad5b2e7111612.tar.gz linux-stable-69108a8a45c61461bddca06e084ad5b2e7111612.tar.bz2 linux-stable-69108a8a45c61461bddca06e084ad5b2e7111612.zip |
ALSA: i2c/cs8427: fix iec958 mixer control deactivation
commit e98e7a82bca2b6dce3e03719cff800ec913f9af7 upstream.
snd_cs8427_iec958_active() would always delete
SNDRV_CTL_ELEM_ACCESS_INACTIVE, even though the function has an
argument `active`.
Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20230405201219.2197811-1-oswald.buddenhagen@gmx.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/i2c/cs8427.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sound/i2c/cs8427.c b/sound/i2c/cs8427.c index 8634d4f466b3..e8c4c39cea12 100644 --- a/sound/i2c/cs8427.c +++ b/sound/i2c/cs8427.c @@ -553,10 +553,13 @@ int snd_cs8427_iec958_active(struct snd_i2c_device *cs8427, int active) if (snd_BUG_ON(!cs8427)) return -ENXIO; chip = cs8427->private_data; - if (active) + if (active) { memcpy(chip->playback.pcm_status, chip->playback.def_status, 24); - chip->playback.pcm_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE; + chip->playback.pcm_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE; + } else { + chip->playback.pcm_ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE; + } snd_ctl_notify(cs8427->bus->card, SNDRV_CTL_EVENT_MASK_VALUE | SNDRV_CTL_EVENT_MASK_INFO, &chip->playback.pcm_ctl->id); |