goto out;
}
- speed = libusb_get_device_speed( dev );
- if (speed == LIBUSB_SPEED_SUPER) {
+ speed = libusb_get_device_speed(dev);
+ if (speed >= LIBUSB_SPEED_SUPER) {
r = libusb_get_ss_endpoint_companion_descriptor(dev->ctx, ep, &ss_ep_cmp);
if (r == LIBUSB_SUCCESS) {
r = ss_ep_cmp->wBytesPerInterval;
}
/* If the device isn't a SuperSpeed device or retrieving the SS endpoint didn't worked. */
- if (speed != LIBUSB_SPEED_SUPER || r < 0) {
+ if (speed < LIBUSB_SPEED_SUPER || r < 0) {
val = ep->wMaxPacketSize;
ep_type = (enum libusb_transfer_type) (ep->bmAttributes & 0x3);