]> git.hungrycats.org Git - linux/commitdiff
ALSA: usb-audio: work around KEF X300A firmware bug
authorClemens Ladisch <clemens@ladisch.de>
Sun, 16 Feb 2014 16:11:10 +0000 (17:11 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Mar 2014 23:09:59 +0000 (16:09 -0700)
commit 624aef494f86ed0c58056361c06347ad62b26806 upstream.

When the driver tries to access Function Unit 10, the KEF X300A
speakers' firmware apparently locks up, making even PCM streaming
impossible.  Work around this by ignoring this FU.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/usb/mixer_maps.c

index f1324c423835c8ade54cdb30730e7999b3cec853..0e4e909d111e646c7a90dd1d6ee476c6491ef748 100644 (file)
@@ -304,6 +304,11 @@ static struct usbmix_name_map hercules_usb51_map[] = {
        { 0 }                           /* terminator */
 };
 
+static const struct usbmix_name_map kef_x300a_map[] = {
+       { 10, NULL }, /* firmware locks up (?) when we try to access this FU */
+       { 0 }
+};
+
 /*
  * Control map entries
  */
@@ -371,6 +376,10 @@ static struct usbmix_ctl_map usbmix_ctl_maps[] = {
                .map = scratch_live_map,
                .ignore_ctl_error = 1,
        },
+       {
+               .id = USB_ID(0x27ac, 0x1000),
+               .map = kef_x300a_map,
+       },
        { 0 } /* terminator */
 };