usb-host: restrict workaround to new libusb versions
authorGerd Hoffmann <kraxel@redhat.com>
Wed, 9 Sep 2020 11:27:33 +0000 (12:27 +0100)
committerAlex Bennée <alex.bennee@linaro.org>
Thu, 10 Sep 2020 09:43:53 +0000 (10:43 +0100)
Fixes build failures with old kernels (USBDEVFS_GET_SPEED missing),
on the assumtion that distros with old kernels also have old libusb.

Reported-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200902081445.3291-1-kraxel@redhat.com>
Message-Id: <20200909112742.25730-3-alex.bennee@linaro.org>

hw/usb/host-libusb.c

index 08604f787fdf4f0559f3ad37002d6f3c423d9f6c..c5d38cb09c064c6cc5207635a8c5cf7fff93e4f3 100644 (file)
@@ -942,7 +942,7 @@ static int usb_host_open(USBHostDevice *s, libusb_device *dev, int hostfd)
     usb_host_ep_update(s);
 
     libusb_speed = libusb_get_device_speed(dev);
-#ifdef CONFIG_LINUX
+#if LIBUSB_API_VERSION >= 0x01000107 && defined(CONFIG_LINUX)
     if (hostfd && libusb_speed == 0) {
         /*
          * Workaround libusb bug: libusb_get_device_speed() does not