From 4532c9774fd3d2371ed9c9ec96280ee7d12da7392b5bb78ac19bca85c05f971f Mon Sep 17 00:00:00 2001 From: Stanislav Brabec Date: Thu, 3 Feb 2022 22:52:03 +0000 Subject: [PATCH] Accepting request 950561 from home:mnhauke - Update to version 1.0.25 * Fix regression with some particular devices * Fix regression with libusb_handle_events_timeout_completed() * Fix regression with cpu usage in libusb_bulk_transfer * New NO_DEVICE_DISCOVERY option replaces WEAK_AUTHORITY option * Various other bug fixes and improvements - Drop not longer needed patch: * 0001-fix-descriptor-parsing.patch OBS-URL: https://build.opensuse.org/request/show/950561 OBS-URL: https://build.opensuse.org/package/show/hardware/libusb-1_0?expand=0&rev=62 --- 0001-fix-descriptor-parsing.patch | 44 ------------------------------- libusb-1.0.24.tar.bz2 | 3 --- libusb-1.0.25.tar.bz2 | 3 +++ libusb-1_0.changes | 12 +++++++++ libusb-1_0.spec | 8 +++--- 5 files changed, 18 insertions(+), 52 deletions(-) delete mode 100644 0001-fix-descriptor-parsing.patch delete mode 100644 libusb-1.0.24.tar.bz2 create mode 100644 libusb-1.0.25.tar.bz2 diff --git a/0001-fix-descriptor-parsing.patch b/0001-fix-descriptor-parsing.patch deleted file mode 100644 index 91e1d88..0000000 --- a/0001-fix-descriptor-parsing.patch +++ /dev/null @@ -1,44 +0,0 @@ -From f6d2cb561402c3b6d3627c0eb89e009b503d9067 Sun 17 01 11:38:45 2021 -From: Simon Vogl -Date: Sun, 17 Jan 2021 11:38:45 UTC -Subject: [PATCH] Fix USB Device enumeration - -This patch fixes a regression introduced in libusb 1.0.24 that prevents certain devices like smartphones from being detected. - -diff --git a/libusb/os/linux_usbfs.c b/libusb/os/linux_usbfs.c -index fb2ed53a..4d2dc8d6 100644 ---- a/libusb/os/linux_usbfs.c -+++ b/libusb/os/linux_usbfs.c -@@ -641,7 +641,12 @@ static int seek_to_next_config(struct libusb_context *ctx, - 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(struct libusb_device *dev) - } - - 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(struct libusb_device *dev) - 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; diff --git a/libusb-1.0.24.tar.bz2 b/libusb-1.0.24.tar.bz2 deleted file mode 100644 index 6ab2ec0..0000000 --- a/libusb-1.0.24.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7efd2685f7b327326dcfb85cee426d9b871fd70e22caa15bb68d595ce2a2b12a -size 606593 diff --git a/libusb-1.0.25.tar.bz2 b/libusb-1.0.25.tar.bz2 new file mode 100644 index 0000000..3d048d3 --- /dev/null +++ b/libusb-1.0.25.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a28ef197a797ebac2702f095e81975e2b02b2eeff2774fa909c78a74ef50849 +size 609127 diff --git a/libusb-1_0.changes b/libusb-1_0.changes index 0bef240..f3a50dc 100644 --- a/libusb-1_0.changes +++ b/libusb-1_0.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Tue Feb 1 21:43:03 UTC 2022 - Martin Hauke + +- Update to version 1.0.25 + * Fix regression with some particular devices + * Fix regression with libusb_handle_events_timeout_completed() + * Fix regression with cpu usage in libusb_bulk_transfer + * New NO_DEVICE_DISCOVERY option replaces WEAK_AUTHORITY option + * Various other bug fixes and improvements +- Drop not longer needed patch: + * 0001-fix-descriptor-parsing.patch + ------------------------------------------------------------------- Sun Jan 17 11:38:45 UTC 2021 - Simon Vogl diff --git a/libusb-1_0.spec b/libusb-1_0.spec index b72816b..80218e5 100644 --- a/libusb-1_0.spec +++ b/libusb-1_0.spec @@ -1,7 +1,7 @@ # # spec file for package libusb-1_0 # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %define _name libusb %define debug_package_requires libusb-1_0-0 = %{version}-%{release} Name: libusb-1_0 -Version: 1.0.24 +Version: 1.0.25 Release: 0 Summary: USB Library License: LGPL-2.1-or-later @@ -27,8 +27,6 @@ Group: System/Hardware URL: http://libusb.info/ Source: https://github.com/libusb/libusb/releases/download/v%{version}/libusb-%{version}.tar.bz2 Source1: baselibs.conf -# PATCH-FIX-UPSTREAM -Patch1: 0001-fix-descriptor-parsing.patch BuildRequires: dos2unix BuildRequires: pkgconfig BuildRequires: pkgconfig(libudev) @@ -53,7 +51,7 @@ Requires: libusb-1_0-0 = %{version} Libusb is a library that allows userspace access to USB devices. %prep -%autosetup -p1 -n %{_name}-%{version} +%setup -n %{_name}-%{version} dos2unix NEWS %build