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
This commit is contained in:
Stanislav Brabec 2022-02-03 22:52:03 +00:00 committed by Git OBS Bridge
parent 76c655567c
commit 4532c9774f
5 changed files with 18 additions and 52 deletions

View File

@ -1,44 +0,0 @@
From f6d2cb561402c3b6d3627c0eb89e009b503d9067 Sun 17 01 11:38:45 2021
From: Simon Vogl <simon.vogl@gmx.net>
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;

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7efd2685f7b327326dcfb85cee426d9b871fd70e22caa15bb68d595ce2a2b12a
size 606593

3
libusb-1.0.25.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8a28ef197a797ebac2702f095e81975e2b02b2eeff2774fa909c78a74ef50849
size 609127

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Tue Feb 1 21:43:03 UTC 2022 - Martin Hauke <mardnh@gmx.de>
- 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 <simon.vogl@gmx.net>

View File

@ -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