OSDN Git Service

ALSA: usb-audio: correct speed checking
authorOliver Neukum <ONeukum@suse.com>
Wed, 4 May 2016 12:18:39 +0000 (14:18 +0200)
committerTakashi Iwai <tiwai@suse.de>
Sun, 8 May 2016 09:42:04 +0000 (11:42 +0200)
Allow handling SS+ USB devices correctly.

Signed-off-by: Oliver Neukum <oneukum@suse.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/card.c
sound/usb/helper.c

index 63244bb..c4665dc 100644 (file)
@@ -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;
        }
index 51ed1ac..7712e2b 100644 (file)
@@ -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;