--- /dev/null
+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
+@@ -304,6 +304,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
+ */
+@@ -371,6 +376,10 @@ static struct usbmix_ctl_map usbmix_ctl_
+ .map = scratch_live_map,
+ .ignore_ctl_error = 1,
+ },
++ {
++ .id = USB_ID(0x27ac, 0x1000),
++ .map = kef_x300a_map,
++ },
+ { 0 } /* terminator */
+ };
+