diff options
Diffstat (limited to 'sound/usb')
-rw-r--r-- | sound/usb/usbmixer.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/sound/usb/usbmixer.c b/sound/usb/usbmixer.c index ca7949598191..42bb95c739a8 100644 --- a/sound/usb/usbmixer.c +++ b/sound/usb/usbmixer.c | |||
@@ -2258,7 +2258,8 @@ int snd_usb_create_mixer(struct snd_usb_audio *chip, int ctrlif, | |||
2258 | }; | 2258 | }; |
2259 | struct usb_mixer_interface *mixer; | 2259 | struct usb_mixer_interface *mixer; |
2260 | struct snd_info_entry *entry; | 2260 | struct snd_info_entry *entry; |
2261 | int err; | 2261 | struct usb_host_interface *host_iface; |
2262 | int err, protocol; | ||
2262 | 2263 | ||
2263 | strcpy(chip->card->mixername, "USB Mixer"); | 2264 | strcpy(chip->card->mixername, "USB Mixer"); |
2264 | 2265 | ||
@@ -2275,6 +2276,16 @@ int snd_usb_create_mixer(struct snd_usb_audio *chip, int ctrlif, | |||
2275 | return -ENOMEM; | 2276 | return -ENOMEM; |
2276 | } | 2277 | } |
2277 | 2278 | ||
2279 | host_iface = &usb_ifnum_to_if(chip->dev, ctrlif)->altsetting[0]; | ||
2280 | protocol = host_iface->desc.bInterfaceProtocol; | ||
2281 | |||
2282 | /* FIXME! */ | ||
2283 | if (protocol != UAC_VERSION_1) { | ||
2284 | snd_printk(KERN_WARNING "mixer interface protocol 0x%02x not yet supported\n", | ||
2285 | protocol); | ||
2286 | return 0; | ||
2287 | } | ||
2288 | |||
2278 | if ((err = snd_usb_mixer_controls(mixer)) < 0 || | 2289 | if ((err = snd_usb_mixer_controls(mixer)) < 0 || |
2279 | (err = snd_usb_mixer_status_create(mixer)) < 0) | 2290 | (err = snd_usb_mixer_status_create(mixer)) < 0) |
2280 | goto _error; | 2291 | goto _error; |