aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Kocialkowski2024-07-21 17:22:47 +0200
committerPaul Kocialkowski2024-07-21 17:24:31 +0200
commitaf8058cc56dbd362e1a74dc70aa93d1902ff1760 (patch)
tree3841671ff35b947149225de3218160ced610ae1e
parent8c100bcad6d48cbecfea74b43f92b60d6f95cfcb (diff)
usb: Check for High-Speed configuration
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
-rw-r--r--src/usb.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/usb.c b/src/usb.c
index 7b2397a..0871868 100644
--- a/src/usb.c
+++ b/src/usb.c
@@ -31,6 +31,7 @@ int usb_open(struct context *context, struct omap_description **descriptions, si
struct libusb_device_handle *handle = NULL;
struct libusb_device_descriptor descriptor;
int configuration;
+ int speed;
char device_name[32];
size_t count;
size_t i;
@@ -66,6 +67,12 @@ int usb_open(struct context *context, struct omap_description **descriptions, si
for (j = 0; j < descriptions_count; j++) {
for (k = 0; k < descriptions[j]->usb_device_ids_count; k++) {
if (descriptions[j]->usb_device_ids[k].vendor_id == descriptor.idVendor && descriptions[j]->usb_device_ids[k].product_id == descriptor.idProduct) {
+ speed = libusb_get_device_speed(list[i]);
+ if (speed != LIBUSB_SPEED_HIGH) {
+ fprintf(stderr, "Configuring High-Speed failed\n");
+ goto error;
+ }
+
rc = libusb_open(list[i], &handle);
if (rc < 0) {
fprintf(stderr, "Opening USB device failed\n");