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:
parent
76c655567c
commit
4532c9774f
@ -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;
|
|
@ -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
3
libusb-1.0.25.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:8a28ef197a797ebac2702f095e81975e2b02b2eeff2774fa909c78a74ef50849
|
||||||
|
size 609127
|
@ -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>
|
Sun Jan 17 11:38:45 UTC 2021 - Simon Vogl <simon.vogl@gmx.net>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package libusb-1_0
|
# 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
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -19,7 +19,7 @@
|
|||||||
%define _name libusb
|
%define _name libusb
|
||||||
%define debug_package_requires libusb-1_0-0 = %{version}-%{release}
|
%define debug_package_requires libusb-1_0-0 = %{version}-%{release}
|
||||||
Name: libusb-1_0
|
Name: libusb-1_0
|
||||||
Version: 1.0.24
|
Version: 1.0.25
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: USB Library
|
Summary: USB Library
|
||||||
License: LGPL-2.1-or-later
|
License: LGPL-2.1-or-later
|
||||||
@ -27,8 +27,6 @@ Group: System/Hardware
|
|||||||
URL: http://libusb.info/
|
URL: http://libusb.info/
|
||||||
Source: https://github.com/libusb/libusb/releases/download/v%{version}/libusb-%{version}.tar.bz2
|
Source: https://github.com/libusb/libusb/releases/download/v%{version}/libusb-%{version}.tar.bz2
|
||||||
Source1: baselibs.conf
|
Source1: baselibs.conf
|
||||||
# PATCH-FIX-UPSTREAM
|
|
||||||
Patch1: 0001-fix-descriptor-parsing.patch
|
|
||||||
BuildRequires: dos2unix
|
BuildRequires: dos2unix
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: pkgconfig(libudev)
|
BuildRequires: pkgconfig(libudev)
|
||||||
@ -53,7 +51,7 @@ Requires: libusb-1_0-0 = %{version}
|
|||||||
Libusb is a library that allows userspace access to USB devices.
|
Libusb is a library that allows userspace access to USB devices.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n %{_name}-%{version}
|
%setup -n %{_name}-%{version}
|
||||||
dos2unix NEWS
|
dos2unix NEWS
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
Loading…
Reference in New Issue
Block a user