summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Neukum <ONeukum@suse.com>2016-05-04 15:18:39 +0300
committerTakashi Iwai <tiwai@suse.de>2016-05-08 12:42:04 +0300
commit748a1ccc433f1c4edb214fff4b340af9c1da3f88 (patch)
treeb841f37f10d91e0371cfa55aa0eeb45e188def99
parentdcd4f0db6141d6bf2cb897309d5d6f53d1b1696f (diff)
downloadlinux-748a1ccc433f1c4edb214fff4b340af9c1da3f88.tar.xz
ALSA: usb-audio: correct speed checking
Allow handling SS+ USB devices correctly. Signed-off-by: Oliver Neukum <oneukum@suse.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/usb/card.c4
-rw-r--r--sound/usb/helper.c1
2 files changed, 5 insertions, 0 deletions
diff --git a/sound/usb/card.c b/sound/usb/card.c
index 63244bbba8c7..c4665dc606ca 100644
--- a/sound/usb/card.c
+++ b/sound/usb/card.c
@@ -351,6 +351,7 @@ static int snd_usb_audio_create(struct usb_interface *intf,
case USB_SPEED_HIGH:
case USB_SPEED_WIRELESS:
case USB_SPEED_SUPER:
+ case USB_SPEED_SUPER_PLUS:
break;
default:
dev_err(&dev->dev, "unknown device speed %d\n", snd_usb_get_speed(dev));
@@ -451,6 +452,9 @@ static int snd_usb_audio_create(struct usb_interface *intf,
case USB_SPEED_SUPER:
strlcat(card->longname, ", super speed", sizeof(card->longname));
break;
+ case USB_SPEED_SUPER_PLUS:
+ strlcat(card->longname, ", super speed plus", sizeof(card->longname));
+ break;
default:
break;
}
diff --git a/sound/usb/helper.c b/sound/usb/helper.c
index 51ed1ac825fd..7712e2b84183 100644
--- a/sound/usb/helper.c
+++ b/sound/usb/helper.c
@@ -120,6 +120,7 @@ unsigned char snd_usb_parse_datainterval(struct snd_usb_audio *chip,
case USB_SPEED_HIGH:
case USB_SPEED_WIRELESS:
case USB_SPEED_SUPER:
+ case USB_SPEED_SUPER_PLUS:
if (get_endpoint(alts, 0)->bInterval >= 1 &&
get_endpoint(alts, 0)->bInterval <= 4)
return get_endpoint(alts, 0)->bInterval - 1;