commit 6326d40cd9870107faca684b2d0ff1e6dad8ed2e Author: Linus Walleij linus.walleij@stericsson.com Date: Fri Apr 1 01:08:56 2011 +0200
Be more cautious when probing devices
libmtp.spec | 7 ++++++- probe-3-ep-only.patch | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletions(-) --- diff --git a/libmtp.spec b/libmtp.spec index efd560f..c954e5e 100644 --- a/libmtp.spec +++ b/libmtp.spec @@ -3,12 +3,13 @@
Name: libmtp Version: 1.0.6 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A software library for MTP media players URL: http://libmtp.sourceforge.net/
Group: System Environment/Libraries Source0: http://download.sourceforge.net/%%7Bname%7D/%%7Bname%7D-%%7Bversion%7D.tar.g... +Patch0: probe-3-ep-only.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) License: LGPLv2+ Requires: udev @@ -51,6 +52,7 @@ library for MTP media players.
%prep %setup -q +%patch0 -p1
%build %configure --disable-static \ @@ -118,6 +120,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog +* Fri Apr 01 2011 Linus Walleij triad@df.lth.se 1.0.6-2 +- Maybe fixing a probing issue on an input device. + * Sat Feb 12 2011 Linus Walleij triad@df.lth.se 1.0.6-1 - New upstream release fixing bugs & more things we patched.
diff --git a/probe-3-ep-only.patch b/probe-3-ep-only.patch new file mode 100644 index 0000000..141dc9e --- /dev/null +++ b/probe-3-ep-only.patch @@ -0,0 +1,18 @@ +diff --git a/src/libusb-glue.c b/src/libusb-glue.c +index 5d7889b..3c0a124 100644 +--- a/src/libusb-glue.c ++++ b/src/libusb-glue.c +@@ -284,6 +284,13 @@ static int probe_device_descriptor(struct usb_device *dev, FILE *dumpfile) + &dev->config[i].interface[j].altsetting[k]; + + /* ++ * MTP interfaces have three endpoints, two bulk and one ++ * interrupt. Don't probe anything else. ++ */ ++ if (intf->bNumEndpoints != 3) ++ continue; ++ ++ /* + * We only want to probe for the OS descriptor if the + * device is USB_CLASS_VENDOR_SPEC or one of the interfaces + * in it is, so flag if we find an interface like this.
scm-commits@lists.fedoraproject.org