package/qemu: fix build with kernel < 5.0
Fixes: - http://autobuild.buildroot.org/results/e4ef13e8ca4ac634650ed80a72a0e1da59520628 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
parent
b46f050475
commit
ed0ee4f5e8
@ -0,0 +1,43 @@
|
||||
From ecd615dfe328e3ab551cea3ba243d908936ed382 Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Sun, 13 Dec 2020 21:27:31 +0100
|
||||
Subject: [PATCH] hw/usb/host-libusb.c: fix build with kernel < 5.0
|
||||
|
||||
USBDEVFS_GET_SPEED is used since version 5.2.0 and
|
||||
https://gitlab.com/qemu-project/qemu/-/commit/202d69a715a4b1824dcd7ec1683d027ed2bae6d3
|
||||
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 with
|
||||
https://gitlab.com/qemu-project/qemu/-/commit/4969e697c15ac536d5c0700381d5d026ef7f0588
|
||||
|
||||
However, the assumtion 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>
|
||||
[Upstream status: sent to qemu-devel@nongnu.org]
|
||||
---
|
||||
hw/usb/host-libusb.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hw/usb/host-libusb.c b/hw/usb/host-libusb.c
|
||||
index b950501d10..0343300d3e 100644
|
||||
--- a/hw/usb/host-libusb.c
|
||||
+++ b/hw/usb/host-libusb.c
|
||||
@@ -941,7 +941,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);
|
||||
-#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
|
||||
--
|
||||
2.29.2
|
||||
|
Loading…
Reference in New Issue
Block a user