| From 624aef494f86ed0c58056361c06347ad62b26806 Mon Sep 17 00:00:00 2001 |
| From: Clemens Ladisch <clemens@ladisch.de> |
| Date: Sun, 16 Feb 2014 17:11:10 +0100 |
| Subject: ALSA: usb-audio: work around KEF X300A firmware bug |
| |
| From: Clemens Ladisch <clemens@ladisch.de> |
| |
| 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 | 9 +++++++++ |
| 1 file changed, 9 insertions(+) |
| |
| --- a/sound/usb/mixer_maps.c |
| +++ b/sound/usb/mixer_maps.c |
| @@ -322,6 +322,11 @@ static struct usbmix_name_map hercules_u |
| { 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 |
| */ |
| @@ -409,6 +414,10 @@ static struct usbmix_ctl_map usbmix_ctl_ |
| .id = USB_ID(0x200c, 0x1018), |
| .map = ebox44_map, |
| }, |
| + { |
| + .id = USB_ID(0x27ac, 0x1000), |
| + .map = kef_x300a_map, |
| + }, |
| { 0 } /* terminator */ |
| }; |
| |