Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libusb-1_0 for openSUSE:Factory 
checked in at 2021-01-19 16:00:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libusb-1_0 (Old)
 and      /work/SRC/openSUSE:Factory/.libusb-1_0.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libusb-1_0"

Tue Jan 19 16:00:40 2021 rev:43 rq:863914 version:1.0.24

Changes:
--------
--- /work/SRC/openSUSE:Factory/libusb-1_0/libusb-1_0.changes    2021-01-08 
17:32:25.861160994 +0100
+++ /work/SRC/openSUSE:Factory/.libusb-1_0.new.28504/libusb-1_0.changes 
2021-01-19 16:00:49.247255393 +0100
@@ -1,0 +2,5 @@
+Sun Jan 17 11:38:45 UTC 2021 - Simon Vogl <simon.v...@gmx.net>
+
+- Add 0001-fix-descriptor-parsing.patch to fix detection of some devices.
+
+-------------------------------------------------------------------

New:
----
  0001-fix-descriptor-parsing.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libusb-1_0.spec ++++++
--- /var/tmp/diff_new_pack.pIr63M/_old  2021-01-19 16:00:49.983256506 +0100
+++ /var/tmp/diff_new_pack.pIr63M/_new  2021-01-19 16:00:49.987256512 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package libusb-1_0
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -27,6 +27,8 @@
 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)
@@ -51,7 +53,7 @@
 Libusb is a library that allows userspace access to USB devices.
 
 %prep
-%setup -q -n %{_name}-%{version}
+%autosetup -p1 -n %{_name}-%{version}
 dos2unix NEWS
 
 %build

++++++ 0001-fix-descriptor-parsing.patch ++++++
>From f6d2cb561402c3b6d3627c0eb89e009b503d9067 Sun 17 01 11:38:45 2021
From: Simon Vogl <simon.v...@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;

Reply via email to