mirror of
https://github.com/home-assistant/operating-system.git
synced 2025-12-04 14:57:15 +00:00
* Rebase patches to Buildroot 2021.02-rc3 * Update Buildroot to 2021.02-rc3 * Declare Kernel headers to be Linux version 5.10 (since they are, and new Buildroot knows about 5.10)
44 lines
1.8 KiB
Diff
44 lines
1.8 KiB
Diff
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
|
|
|