diff options
Diffstat (limited to 'recipes-devtools/uuu')
-rw-r--r-- | recipes-devtools/uuu/files/0001-libuuu-usbhotplug.cpp-don-t-limit-retry-logic-to-win.patch | 61 | ||||
-rw-r--r-- | recipes-devtools/uuu/uuu_git.bb | 6 |
2 files changed, 2 insertions, 65 deletions
diff --git a/recipes-devtools/uuu/files/0001-libuuu-usbhotplug.cpp-don-t-limit-retry-logic-to-win.patch b/recipes-devtools/uuu/files/0001-libuuu-usbhotplug.cpp-don-t-limit-retry-logic-to-win.patch deleted file mode 100644 index 3c53a65c..00000000 --- a/recipes-devtools/uuu/files/0001-libuuu-usbhotplug.cpp-don-t-limit-retry-logic-to-win.patch +++ /dev/null | |||
@@ -1,61 +0,0 @@ | |||
1 | From 51e8aa31a9260492576e316096dc8fb68065a7fd Mon Sep 17 00:00:00 2001 | ||
2 | From: Rasmus Villemoes <rasmus.villemoes@prevas.dk> | ||
3 | Date: Fri, 22 Dec 2023 11:57:15 +0100 | ||
4 | Subject: [PATCH] libuuu/usbhotplug.cpp: don't limit retry logic to windows | ||
5 | |||
6 | When using the udev rules to avoid use of sudo, we have sometimes | ||
7 | observed uuu spuriously failing because it sees the device and | ||
8 | attempts to open it, before the udev daemon has had a chance to apply | ||
9 | its rules and grant access to the current user (via the 'uaccess' | ||
10 | tag). | ||
11 | |||
12 | The error in that case is -EACCES which libusb translates to | ||
13 | LIBUSB_ERROR_ACCESS, so extend the retry logic to that case. Also, | ||
14 | since I have seen the open() succeed on the 5th and last attempt, bump | ||
15 | the number of retries to 10, for a total of around 2 seconds instead | ||
16 | of just 1. | ||
17 | |||
18 | Upstream-Status: Submitted [https://github.com/nxp-imx/mfgtools/pull/407] | ||
19 | Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> | ||
20 | --- | ||
21 | libuuu/usbhotplug.cpp | 11 ++++++----- | ||
22 | 1 file changed, 6 insertions(+), 5 deletions(-) | ||
23 | |||
24 | diff --git a/libuuu/usbhotplug.cpp b/libuuu/usbhotplug.cpp | ||
25 | index 815d9dd..cc3d6ce 100644 | ||
26 | --- a/libuuu/usbhotplug.cpp | ||
27 | +++ b/libuuu/usbhotplug.cpp | ||
28 | @@ -214,10 +214,7 @@ static string get_device_path(libusb_device *dev) | ||
29 | |||
30 | static int open_libusb(libusb_device *dev, void **usb_device_handle) | ||
31 | { | ||
32 | - int retry = 1; | ||
33 | -#ifdef WIN32 | ||
34 | - retry = 5; | ||
35 | -#endif | ||
36 | + int retry = 10; | ||
37 | |||
38 | while (retry) | ||
39 | { | ||
40 | @@ -226,13 +223,17 @@ static int open_libusb(libusb_device *dev, void **usb_device_handle) | ||
41 | /* work around windows open device failure 1/10 | ||
42 | * sometime HID device detect need some time, refresh list | ||
43 | * to make sure HID driver installed. | ||
44 | + * | ||
45 | + * On linux, udev rules may need some time to kick in, | ||
46 | + * so also retry on -EACCES. | ||
47 | */ | ||
48 | CAutoList l; | ||
49 | |||
50 | int ret; | ||
51 | if ((ret = libusb_open(dev, (libusb_device_handle **)(usb_device_handle))) < 0) | ||
52 | { | ||
53 | - if ((ret != LIBUSB_ERROR_NOT_SUPPORTED) || (retry == 0)) | ||
54 | + if ((ret != LIBUSB_ERROR_NOT_SUPPORTED && ret != LIBUSB_ERROR_ACCESS) | ||
55 | + || (retry == 0)) | ||
56 | { | ||
57 | set_last_err_string("Failure open usb device" TRY_SUDO); | ||
58 | return -1; | ||
59 | -- | ||
60 | 2.40.1.1.g1c60b9335d | ||
61 | |||
diff --git a/recipes-devtools/uuu/uuu_git.bb b/recipes-devtools/uuu/uuu_git.bb index 69eed48f..8aba3936 100644 --- a/recipes-devtools/uuu/uuu_git.bb +++ b/recipes-devtools/uuu/uuu_git.bb | |||
@@ -3,10 +3,8 @@ DESCRIPTION = "Image deploy tool for i.MX chips" | |||
3 | HOMEPAGE = "https://github.com/nxp-imx/mfgtools" | 3 | HOMEPAGE = "https://github.com/nxp-imx/mfgtools" |
4 | 4 | ||
5 | SRC_URI = "git://github.com/nxp-imx/mfgtools.git;protocol=https;branch=master" | 5 | SRC_URI = "git://github.com/nxp-imx/mfgtools.git;protocol=https;branch=master" |
6 | SRCREV = "de317f587003dbd6203af1c647e2fccb912f8f0d" | 6 | SRCREV = "7347a80c7a943dd7e9081d9d2bab9e6ca8e0ba07" |
7 | PV = "1.5.141" | 7 | PV = "1.5.165" |
8 | |||
9 | SRC_URI += "file://0001-libuuu-usbhotplug.cpp-don-t-limit-retry-logic-to-win.patch" | ||
10 | 8 | ||
11 | LICENSE = "BSD-3-Clause" | 9 | LICENSE = "BSD-3-Clause" |
12 | LIC_FILES_CHKSUM = "file://LICENSE;md5=38ec0c18112e9a92cffc4951661e85a5" | 10 | LIC_FILES_CHKSUM = "file://LICENSE;md5=38ec0c18112e9a92cffc4951661e85a5" |