Browse Source

libusb: update to 1.0.25

Remove upstreamed patche:
- 001-Correct-a-typo-in-the-Changelog-and-clean-up-a-stray.patch
- 002-linux_usbfs-Fix-parsing-of-descriptors-for-multi-con.patch

Changelog:
2022-01-31: v1.0.25
* Linux: Fix regression with some particular devices
* Linux: Fix regression with libusb_handle_events_timeout_completed()
* Linux: Fix regression with cpu usage in libusb_bulk_transfer
* Darwin (macOS): Add support for detaching kernel drivers with authorization.
* Darwin (macOS): Do not drop partial data on timeout.
* Darwin (macOS): Silence pipe error in set_interface_alt_setting().
* Windows: Fix HID backend missing byte
* Windows: Fix segfault with libusbk driver
* Windows: Fix regression when using libusb0 driver
* Windows: Support LIBUSB_TRANSFER_ADD_ZERO_PACKET on winusb
* New NO_DEVICE_DISCOVERY option replaces WEAK_AUTHORITY option
* Various other bug fixes and improvements

Signed-off-by: Nick Hainke <[email protected]>
Nick Hainke 3 years ago
parent
commit
d858511723

+ 2 - 2
package/libs/libusb/Makefile

@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libusb
-PKG_VERSION:=1.0.24
+PKG_VERSION:=1.0.25
 PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=\
   https://github.com/libusb/libusb/releases/download/v$(PKG_VERSION) \
   @SF/$(PKG_NAME)
-PKG_HASH:=7efd2685f7b327326dcfb85cee426d9b871fd70e22caa15bb68d595ce2a2b12a
+PKG_HASH:=8a28ef197a797ebac2702f095e81975e2b02b2eeff2774fa909c78a74ef50849
 
 PKG_MAINTAINER:= Felix Fietkau <[email protected]>
 PKG_LICENSE:=LGPL-2.1-or-later

+ 0 - 29
package/libs/libusb/patches/001-Correct-a-typo-in-the-Changelog-and-clean-up-a-stray.patch

@@ -1,29 +0,0 @@
-From 369af149e3ad92514a2d24f112cedfeb7acaf558 Mon Sep 17 00:00:00 2001
-From: Chris Dickens <[email protected]>
-Date: Sun, 13 Dec 2020 15:46:27 -0800
-Subject: [PATCH] Correct a typo in the Changelog and clean up a stray file
-
-Signed-off-by: Chris Dickens <[email protected]>
----
- ChangeLog             | 2 +-
- libusb/version_nano.h | 2 +-
- test                  | 0
- 3 files changed, 2 insertions(+), 2 deletions(-)
- delete mode 100644 test
-
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -12,7 +12,7 @@ visit: http://log.libusb.info
- * Darwin (macOS): use IOUSBDevice as darwin_device_class explicitly (#693)
- * Linux: Drop support for kernel older than 2.6.32
- * Linux: Provide an event thread name (#689)
--* Linux: Wait until all USBs have been reaped before freeing them (#607)
-+* Linux: Wait until all URBs have been reaped before freeing them (#607)
- * NetBSD: Recognize device timeouts (#710)
- * OpenBSD: Allow opening ugen devices multiple times (#763)
- * OpenBSD: Support libusb_get_port_number() (#764)
---- a/libusb/version_nano.h
-+++ b/libusb/version_nano.h
-@@ -1 +1 @@
--#define LIBUSB_NANO 11584
-+#define LIBUSB_NANO 11585

+ 0 - 61
package/libs/libusb/patches/002-linux_usbfs-Fix-parsing-of-descriptors-for-multi-con.patch

@@ -1,61 +0,0 @@
-From f6d2cb561402c3b6d3627c0eb89e009b503d9067 Mon Sep 17 00:00:00 2001
-From: Chris Dickens <[email protected]>
-Date: Sun, 13 Dec 2020 15:49:19 -0800
-Subject: [PATCH] linux_usbfs: Fix parsing of descriptors for
- multi-configuration devices
-
-Commit e2be556bd2 ("linux_usbfs: Parse config descriptors during device
-initialization") introduced a regression for devices with multiple
-configurations. The logic that verifies the reported length of the
-configuration descriptors failed to count the length of the
-configuration descriptor itself and would truncate the actual length by
-9 bytes, leading to a parsing error for subsequent descriptors.
-
-Closes #825
-
-Signed-off-by: Chris Dickens <[email protected]>
----
- libusb/os/linux_usbfs.c | 12 ++++++++----
- libusb/version_nano.h   |  2 +-
- 2 files changed, 9 insertions(+), 5 deletions(-)
-
---- a/libusb/os/linux_usbfs.c
-+++ b/libusb/os/linux_usbfs.c
-@@ -641,7 +641,12 @@ static int seek_to_next_config(struct li
- 	uint8_t *buffer, size_t len)
- {
- 	struct usbi_descriptor_header *header;
--	int offset = 0;
-+	int offset;
-+
-+	/* Start seeking past the config descriptor */
-+	offset = LIBUSB_DT_CONFIG_SIZE;
-+	buffer += LIBUSB_DT_CONFIG_SIZE;
-+	len -= LIBUSB_DT_CONFIG_SIZE;
- 
- 	while (len > 0) {
- 		if (len < 2) {
-@@ -718,7 +723,7 @@ static int parse_config_descriptors(stru
- 		}
- 
- 		if (priv->sysfs_dir) {
--			 /*
-+			/*
- 			 * In sysfs wTotalLength is ignored, instead the kernel returns a
- 			 * config descriptor with verified bLength fields, with descriptors
- 			 * with an invalid bLength removed.
-@@ -727,8 +732,7 @@ static int parse_config_descriptors(stru
- 			int offset;
- 
- 			if (num_configs > 1 && idx < num_configs - 1) {
--				offset = seek_to_next_config(ctx, buffer + LIBUSB_DT_CONFIG_SIZE,
--							     remaining - LIBUSB_DT_CONFIG_SIZE);
-+				offset = seek_to_next_config(ctx, buffer, remaining);
- 				if (offset < 0)
- 					return offset;
- 				sysfs_config_len = (uint16_t)offset;
---- a/libusb/version_nano.h
-+++ b/libusb/version_nano.h
-@@ -1 +1 @@
--#define LIBUSB_NANO 11585
-+#define LIBUSB_NANO 11586