Accepting request 951450 from hardware
OBS-URL: https://build.opensuse.org/request/show/951450 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libusb-1_0?expand=0&rev=45
This commit is contained in:
commit
4c55987438
@ -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>
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user