diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2016-09-09 09:41:30 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2016-09-13 09:19:26 +0200 |
commit | 6a71123469e0c9286354c6655440da51566c1763 (patch) | |
tree | 7fdf9126979480ba7b823561a3406df104e397c7 /hw | |
parent | b66ad1f1aa4dba4e8e242ad8339dd01f4ee77c5e (diff) | |
download | qemu-6a71123469e0c9286354c6655440da51566c1763.zip qemu-6a71123469e0c9286354c6655440da51566c1763.tar.gz qemu-6a71123469e0c9286354c6655440da51566c1763.tar.bz2 |
usb-host: fix streams detection in usb_host_speed_compat
The companion descriptor is present on all usb3 devices, not only
those with streams support. We need to check attributes to see
whenever the device uses streams or not.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 1473406890-30164-1-git-send-email-kraxel@redhat.com
Diffstat (limited to 'hw')
-rw-r--r-- | hw/usb/host-libusb.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/hw/usb/host-libusb.c b/hw/usb/host-libusb.c index e94672c..bd81d71 100644 --- a/hw/usb/host-libusb.c +++ b/hw/usb/host-libusb.c @@ -743,10 +743,13 @@ static void usb_host_speed_compat(USBHostDevice *s) rc = libusb_get_ss_endpoint_companion_descriptor (ctx, endp, &endp_ss_comp); if (rc == LIBUSB_SUCCESS) { + int streams = endp_ss_comp->bmAttributes & 0x1f; + if (streams) { + compat_full = false; + compat_high = false; + } libusb_free_ss_endpoint_companion_descriptor (endp_ss_comp); - compat_full = false; - compat_high = false; } #endif break; |