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
This commit is contained in:
Gerd Hoffmann 2016-09-09 09:41:30 +02:00
parent b66ad1f1aa
commit 6a71123469
1 changed files with 5 additions and 2 deletions

View File

@ -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;