aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb/mixer.c
diff options
context:
space:
mode:
authorDaniel Mack <daniel@caiaq.de>2010-05-27 14:15:14 -0400
committerTakashi Iwai <tiwai@suse.de>2010-05-28 01:48:17 -0400
commite8d0fee70b66694959eab10c41788b9279d73629 (patch)
tree3e7e3754298f1e1ccb994149427980f1afb6d052 /sound/usb/mixer.c
parent3ee317fe9cf08d81501b142bf0054c25e3ed5e7d (diff)
ALSA: usb-audio: fix feature unit parser for UAC2
Fix a small off-by-one bug which causes the feature unit to announce a wrong number of channels. This leads to illegal requests sent to the firmware eventually. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/mixer.c')
-rw-r--r--sound/usb/mixer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
index 97dd17655104..03ce971e0027 100644
--- a/sound/usb/mixer.c
+++ b/sound/usb/mixer.c
@@ -1126,7 +1126,7 @@ static int parse_audio_feature_unit(struct mixer_build *state, int unitid, void
1126 } else { 1126 } else {
1127 struct uac2_feature_unit_descriptor *ftr = _ftr; 1127 struct uac2_feature_unit_descriptor *ftr = _ftr;
1128 csize = 4; 1128 csize = 4;
1129 channels = (hdr->bLength - 6) / 4; 1129 channels = (hdr->bLength - 6) / 4 - 1;
1130 bmaControls = ftr->bmaControls; 1130 bmaControls = ftr->bmaControls;
1131 } 1131 }
1132 1132