mirror of https://gitee.com/openkylin/qemu.git
hw/usb/host-libusb.c: fix build with kernel < 5.0
USBDEVFS_GET_SPEED is used since version 5.2.0 and202d69a715
resulting in the following build failure with kernel < 5.0: ../hw/usb/host-libusb.c: In function 'usb_host_open': ../hw/usb/host-libusb.c:953:32: error: 'USBDEVFS_GET_SPEED' undeclared (first use in this function); did you mean 'USBDEVFS_GETDRIVER'? int rc = ioctl(hostfd, USBDEVFS_GET_SPEED, NULL); ^~~~~~~~~~~~~~~~~~ USBDEVFS_GETDRIVER A tentative was made to fix this build failure with4969e697c1
However, the assumption that distros with old kernels also have old libusb is just wrong so also add a check for defined(USBDEVFS_GET_SPEED) Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Message-id: 20201213213016.457350-1-fontaine.fabrice@gmail.com [ kraxel: codestyle whitespace fixup ] Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
0e32462630
commit
a3c27ea034
|
@ -941,7 +941,8 @@ static int usb_host_open(USBHostDevice *s, libusb_device *dev, int hostfd)
|
|||
usb_host_ep_update(s);
|
||||
|
||||
libusb_speed = libusb_get_device_speed(dev);
|
||||
#if LIBUSB_API_VERSION >= 0x01000107 && defined(CONFIG_LINUX)
|
||||
#if LIBUSB_API_VERSION >= 0x01000107 && defined(CONFIG_LINUX) && \
|
||||
defined(USBDEVFS_GET_SPEED)
|
||||
if (hostfd && libusb_speed == 0) {
|
||||
/*
|
||||
* Workaround libusb bug: libusb_get_device_speed() does not
|
||||
|
|
Loading…
Reference in New Issue