[ALSA] hda-codec - Fix channel mode helper
authorTakashi Iwai <tiwai@suse.de>
Thu, 24 Nov 2005 15:05:04 +0000 (16:05 +0100)
committerJaroslav Kysela <perex@suse.cz>
Tue, 3 Jan 2006 11:29:45 +0000 (12:29 +0100)
Modules: HDA Codec driver

Fix the channel mode helper (for put callback).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_codec.c

index 402ce00c6a137ac15a3f3dc7b4d71d7b1c075758..5ead2a3d05adb998f4ad24526fffd5a6fb472a4d 100644 (file)
@@ -1771,7 +1771,7 @@ int snd_hda_ch_mode_put(struct hda_codec *codec, struct snd_ctl_elem_value *ucon
 
        mode = ucontrol->value.enumerated.item[0];
        snd_assert(mode < num_chmodes, return -EINVAL);
-       if (*max_channelsp && ! codec->in_resume)
+       if (*max_channelsp == chmode[mode].channels && ! codec->in_resume)
                return 0;
        /* change the current channel setting */
        *max_channelsp = chmode[mode].channels;