Skip to content

Commit

Permalink
[ALSA] usb-audio: allow low speed MIDI devices
Browse files Browse the repository at this point in the history
Allow low speed MIDI devices because newer devices from ESI do not
support full speed.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
  • Loading branch information
Clemens Ladisch authored and Jaroslav Kysela committed Oct 16, 2007
1 parent a6a712a commit 076639f
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions sound/usb/usbaudio.c
Original file line number Diff line number Diff line change
Expand Up @@ -2840,6 +2840,10 @@ static int snd_usb_create_streams(struct snd_usb_audio *chip, int ctrlif)
/* skip non-supported classes */
continue;
}
if (snd_usb_get_speed(dev) == USB_SPEED_LOW) {
snd_printk(KERN_ERR "low speed audio streaming not supported\n");
continue;
}
if (! parse_audio_endpoints(chip, j)) {
usb_set_interface(dev, j, 0); /* reset the current interface */
usb_driver_claim_interface(&usb_audio_driver, iface, (void *)-1L);
Expand Down Expand Up @@ -3382,7 +3386,8 @@ static int snd_usb_audio_create(struct usb_device *dev, int idx,

*rchip = NULL;

if (snd_usb_get_speed(dev) != USB_SPEED_FULL &&
if (snd_usb_get_speed(dev) != USB_SPEED_LOW &&
snd_usb_get_speed(dev) != USB_SPEED_FULL &&
snd_usb_get_speed(dev) != USB_SPEED_HIGH) {
snd_printk(KERN_ERR "unknown device speed %d\n", snd_usb_get_speed(dev));
return -ENXIO;
Expand Down Expand Up @@ -3456,7 +3461,9 @@ static int snd_usb_audio_create(struct usb_device *dev, int idx,
usb_make_path(dev, card->longname + len, sizeof(card->longname) - len);

strlcat(card->longname,
snd_usb_get_speed(dev) == USB_SPEED_FULL ? ", full speed" : ", high speed",
snd_usb_get_speed(dev) == USB_SPEED_LOW ? ", low speed" :
snd_usb_get_speed(dev) == USB_SPEED_FULL ? ", full speed" :
", high speed",
sizeof(card->longname));

snd_usb_audio_create_proc(chip);
Expand Down

0 comments on commit 076639f

Please sign in to comment.