OSDN Git Service

ALSA: usb-audio: Fix UAC2 get_ctl request with a RANGE attribute
authorKirill Marinushkin <k.marinushkin@gmail.com>
Mon, 29 Jan 2018 05:37:55 +0000 (06:37 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 12 Feb 2018 08:07:29 +0000 (09:07 +0100)
commit447cae58cecd69392b74a4a42cd0ab9cabd816af
tree4654851a3c4cab88496c6d7371473f9830991358
parent2bda7141b89aa35308da69aac7f486fa81db73ba
ALSA: usb-audio: Fix UAC2 get_ctl request with a RANGE attribute

The layout of the UAC2 Control request and response varies depending on
the request type. With the current implementation, only the Layout 2
Parameter Block (with the 2-byte sized RANGE attribute) is handled
properly. For the Control requests with the 1-byte sized RANGE attribute
(Bass Control, Mid Control, Tremble Control), the response is parsed
incorrectly.

This commit:
* fixes the wLength field value in the request
* fixes parsing the range values from the response

Fixes: 23caaf19b11e ("ALSA: usb-mixer: Add support for Audio Class v2.0")
Signed-off-by: Kirill Marinushkin <k.marinushkin@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/mixer.c