]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ALSA: usb-audio: correct the value cache check.
authorYao-Wen Mao <yaowen@google.com>
Fri, 28 Aug 2015 08:33:25 +0000 (16:33 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 29 Sep 2015 17:33:21 +0000 (19:33 +0200)
commit 6aa6925cad06159dc6e25857991bbc4960821242 upstream.

The check of cval->cached should be zero-based (including master channel).

Signed-off-by: Yao-Wen Mao <yaowen@google.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/usb/mixer.c

index 6b3acba5da7ac8b1add3dbdb811abc42a2686d85..83d6e76435b4d72fdf1d229072d700fdd242a9e6 100644 (file)
@@ -2522,7 +2522,7 @@ static int restore_mixer_value(struct usb_mixer_elem_list *list)
                for (c = 0; c < MAX_CHANNELS; c++) {
                        if (!(cval->cmask & (1 << c)))
                                continue;
-                       if (cval->cached & (1 << c)) {
+                       if (cval->cached & (1 << (c + 1))) {
                                err = snd_usb_set_cur_mix_value(cval, c + 1, idx,
                                                        cval->cache_val[idx]);
                                if (err < 0)