summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Schremmer <alex@alexanderweb.de>2013-01-03 12:59:07 +0100
committerTakashi Iwai <tiwai@suse.de>2013-01-03 14:26:48 +0100
commit8f7f3ab15e0873a9b04d5a38ef1d33831aaf609d (patch)
treeeea748ecb36a367b93fb8ad58077239ef67bd5ad
parentc86c2d440c4faff9d0761bc5f34cc428a5ccf7d4 (diff)
downloadlinux-8f7f3ab15e0873a9b04d5a38ef1d33831aaf609d.tar.gz
linux-8f7f3ab15e0873a9b04d5a38ef1d33831aaf609d.tar.bz2
linux-8f7f3ab15e0873a9b04d5a38ef1d33831aaf609d.zip
ALSA: usb-audio: Add support for Creative BT-D1 via usb sound quirks
Support the Creative BT-D1 Bluetooth USB audio device. Before this patch, Linux had trouble finding the correct USB descriptors and bailed out with these messages: no or invalid class specific endpoint descriptor Now it still prints these messages on hotplug: snd-usb-audio: probe of ...:1.0 failed with error -5 snd-usb-audio: probe of ...:1.2 failed with error -5 snd-usb-audio: probe of ...:1.3 failed with error -5 But the device works correctly, including the HID support. The patch is diff'ed against 3.8-rc1 but should apply to older kernels as well. Signed-off-by: Alexander Schremmer <alex@alexanderweb.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/usb/quirks-table.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
index cdcf6b45e8a8..5388ca3a4ab0 100644
--- a/sound/usb/quirks-table.h
+++ b/sound/usb/quirks-table.h
@@ -50,6 +50,28 @@
}
},
+{
+ /* Creative BT-D1 */
+ USB_DEVICE(0x041e, 0x0005),
+ .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
+ .ifnum = 1,
+ .type = QUIRK_AUDIO_FIXED_ENDPOINT,
+ .data = &(const struct audioformat) {
+ .formats = SNDRV_PCM_FMTBIT_S16_LE,
+ .channels = 2,
+ .iface = 1,
+ .altsetting = 1,
+ .altset_idx = 1,
+ .endpoint = 0x03,
+ .ep_attr = USB_ENDPOINT_XFER_ISOC,
+ .attributes = 0,
+ .rates = SNDRV_PCM_RATE_CONTINUOUS,
+ .rate_min = 48000,
+ .rate_max = 48000,
+ }
+ }
+},
+
/* Creative/Toshiba Multimedia Center SB-0500 */
{
USB_DEVICE(0x041e, 0x3048),