<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/usb/storage, branch v3.2.41</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/usb/storage?h=v3.2.41</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/usb/storage?h=v3.2.41'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-03-20T15:03:30Z</updated>
<entry>
<title>USB: storage: fix Huawei mode switching regression</title>
<updated>2013-03-20T15:03:30Z</updated>
<author>
<name>Bjørn Mork</name>
<email>bjorn@mork.no</email>
</author>
<published>2013-03-04T13:19:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8bcbe61371806144b36823787c0f0e7a6b06483d'/>
<id>urn:sha1:8bcbe61371806144b36823787c0f0e7a6b06483d</id>
<content type='text'>
commit ab4b71644a26d1ab92b987b2fd30e17c25e89f85 upstream.

This reverts commit 200e0d99 ("USB: storage: optimize to match the
Huawei USB storage devices and support new switch command" and the
followup bugfix commit cd060956 ("USB: storage: properly handle
the endian issues of idProduct").

The commit effectively added a large number of Huawei devices to
the deprecated usb-storage mode switching logic.  Many of these
devices have been in use and supported by the userspace
usb_modeswitch utility for years.  Forcing the switching inside
the kernel causes a number of regressions as a result of ignoring
existing onfigurations, and also completely takes away the ability
to configure mode switching per device/system/user.

Known regressions caused by this:
 - Some of the devices support multiple modes, using different
  switching commands.  There are existing configurations taking
  advantage of this.

 - There is a real use case for disabling mode switching and
  instead mounting the exposed storage device. This becomes
  impossible with switching logic inside the usb-storage driver.

 - At least on device fail as a result of the usb-storage switching
  command, becoming completely unswitchable. This is possibly a
  firmware bug, but still a regression because the device work as
  expected using usb_modeswitch defaults.

In-kernel mode switching was deprecated years ago with the
development of the more user friendly userspace alternatives. The
existing list of devices in usb-storage was only kept to prevent
breaking already working systems.  The long term plan is to remove
the list, not to add to it. Ref:
http://permalink.gmane.org/gmane.linux.usb.general/28543

Cc: &lt;fangxiaozhi@huawei.com&gt;
Signed-off-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>USB: usb-storage: unusual_devs update for Super TOP SATA bridge</title>
<updated>2013-03-06T03:24:00Z</updated>
<author>
<name>Josh Boyer</name>
<email>jwboyer@redhat.com</email>
</author>
<published>2013-02-14T14:39:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b6803d8d50f015c043c507bf251b51df6bfb8d7b'/>
<id>urn:sha1:b6803d8d50f015c043c507bf251b51df6bfb8d7b</id>
<content type='text'>
commit 18e03310b5caa6d11c1a8c61b982c37047693fba upstream.

The current entry in unusual_cypress.h for the Super TOP SATA bridge devices
seems to be causing corruption on newer revisions of this device.  This has
been reported in Arch Linux and Fedora.  The original patch was tested on
devices with bcdDevice of 1.60, whereas the newer devices report bcdDevice
as 2.20.  Limit the UNUSUAL_DEV entry to devices less than 2.20.

This fixes https://bugzilla.redhat.com/show_bug.cgi?id=909591

The Arch Forum post on this is here:
	https://bbs.archlinux.org/viewtopic.php?id=152011

Reported-by: Carsten S. &lt;carsteniq@yahoo.com&gt;
Tested-by: Carsten S. &lt;carsteniq@yahoo.com&gt;
Signed-off-by: Josh Boyer &lt;jwboyer@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>USB: storage: properly handle the endian issues of idProduct</title>
<updated>2013-03-06T03:23:54Z</updated>
<author>
<name>fangxiaozhi</name>
<email>huananhu@huawei.com</email>
</author>
<published>2013-02-07T07:32:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d0d26e575d02c5ff51a9fb6fbe79de6fe7a6dd58'/>
<id>urn:sha1:d0d26e575d02c5ff51a9fb6fbe79de6fe7a6dd58</id>
<content type='text'>
commit cd060956c5e97931c3909e4a808508469c0bb9f6 upstream.

1. The idProduct is little endian, so make sure its value to be
compatible with the current CPU. Make no break on big endian processors.

Signed-off-by: fangxiaozhi &lt;huananhu@huawei.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>USB: storage: optimize to match the Huawei USB storage devices and support new switch command</title>
<updated>2013-02-20T03:15:25Z</updated>
<author>
<name>fangxiaozhi</name>
<email>huananhu@huawei.com</email>
</author>
<published>2013-02-04T07:16:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=011dcf0ccf703c6a5b49c789833d1c9a28d47406'/>
<id>urn:sha1:011dcf0ccf703c6a5b49c789833d1c9a28d47406</id>
<content type='text'>
commit 200e0d994d9d1919b28c87f1a5fb99a8e13b8a0f upstream.

1. Optimize the match rules with new macro for Huawei USB storage devices,
   to avoid to load USB storage driver for the modem interface
   with Huawei devices.
2. Add to support new switch command for new Huawei USB dongles.

Signed-off-by: fangxiaozhi &lt;huananhu@huawei.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>USB: storage: Define a new macro for USB storage match rules</title>
<updated>2013-02-20T03:15:25Z</updated>
<author>
<name>fangxiaozhi</name>
<email>huananhu@huawei.com</email>
</author>
<published>2013-02-04T07:14:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=19c72d766156d20221dc399ebaf27fad2251e4ce'/>
<id>urn:sha1:19c72d766156d20221dc399ebaf27fad2251e4ce</id>
<content type='text'>
commit 07c7be3d87e5cdaf5f94c271c516456364ef286c upstream.

1. Define a new macro for USB storage match rules:
    matching with Vendor ID and interface descriptors.

Signed-off-by: fangxiaozhi &lt;huananhu@huawei.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>USB: mark uas driver as BROKEN</title>
<updated>2013-01-03T03:33:20Z</updated>
<author>
<name>Greg KH</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2012-11-28T18:19:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9c8eba1d0c068ed0bab1573154a0c97322242eda'/>
<id>urn:sha1:9c8eba1d0c068ed0bab1573154a0c97322242eda</id>
<content type='text'>
commit fb37ef98015f864d22be223a0e0d93547cd1d4ef upstream.

As reported https://bugzilla.kernel.org/show_bug.cgi?id=51031, the UAS
driver causes problems and has been asked to be not built into any of
the major distributions.  To prevent users from running into problems
with it, and for distros that were not notified, just mark the whole
thing as broken.

Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Acked-by: Sarah Sharp &lt;sarah.a.sharp@linux.intel.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>usb-storage: add unusual_devs entry for Casio EX-N1 digital camera</title>
<updated>2012-10-30T23:26:58Z</updated>
<author>
<name>Michael Shigorin</name>
<email>mike@osdn.org.ua</email>
</author>
<published>2012-10-22T09:18:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0687fd33e67b20ac425eac5f6736f8b4283f4eb9'/>
<id>urn:sha1:0687fd33e67b20ac425eac5f6736f8b4283f4eb9</id>
<content type='text'>
commit d7870af7e2e3a91b462075ec1ca669b482215187 upstream.

This commit sets removable subclass for Casio EX-N1 digital camera.

The patch has been tested within an ALT Linux kernel:
http://git.altlinux.org/people/led/packages/?p=kernel-image-3.0.git;a=commitdiff;h=c0fd891836e89fe0c93a4d536a59216d90e4e3e7

See also https://bugzilla.kernel.org/show_bug.cgi?id=49221

Signed-off-by: Oleksandr Chumachenko &lt;ledest@gmail.com&gt;
Signed-off-by: Michael Shigorin &lt;mike@osdn.org.ua&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>usb-storage: unusual_devs entry for Yarvik PMP400 MP4 player</title>
<updated>2012-05-30T23:43:38Z</updated>
<author>
<name>Alan Stern</name>
<email>stern@rowland.harvard.edu</email>
</author>
<published>2012-05-08T19:15:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5bc8df0a9ff4f0d1c95add37c293c418750676ca'/>
<id>urn:sha1:5bc8df0a9ff4f0d1c95add37c293c418750676ca</id>
<content type='text'>
commit df767b71e5816692134d59c0c17e0f77cd73333d upstream.

This patch (as1553) adds an unusual_dev entrie for the Yarvik PMP400
MP4 music player.

Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Reported-by: Jesse Feddema &lt;jdfeddema@gmail.com&gt;
Tested-by: Jesse Feddema &lt;jdfeddema@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>USB: ums_realtek: do not use stack memory for DMA in __do_config_autodelink</title>
<updated>2012-04-02T16:52:32Z</updated>
<author>
<name>Josh Boyer</name>
<email>jwboyer@redhat.com</email>
</author>
<published>2012-02-20T20:34:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=61849d8278208ab8445e6143387b5cfe0219c21d'/>
<id>urn:sha1:61849d8278208ab8445e6143387b5cfe0219c21d</id>
<content type='text'>
commit 4898e07174b79013afd2b422ef6c4336ef8e6783 upstream.

__do_config_autodelink passes the data variable to the transport function.
If the calling functions pass a stack variable, this will eventually trigger
a DMA-API debug backtrace for mapping stack memory in the DMA buffer.  Fix
this by calling kmemdup for the passed data instead.

Signed-off-by: Josh Boyer &lt;jwboyer@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb-storage: fix freezing of the scanning thread</title>
<updated>2012-03-01T00:31:08Z</updated>
<author>
<name>Alan Stern</name>
<email>stern@rowland.harvard.edu</email>
</author>
<published>2012-02-21T18:16:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2ab9cc5409e9871927ef2799b41af3288cf7114c'/>
<id>urn:sha1:2ab9cc5409e9871927ef2799b41af3288cf7114c</id>
<content type='text'>
commit bb94a406682770a35305daaa241ccdb7cab399de upstream.

This patch (as1521b) fixes the interaction between usb-storage's
scanning thread and the freezer.  The current implementation has a
race: If the device is unplugged shortly after being plugged in and
just as a system sleep begins, the scanning thread may get frozen
before the khubd task.  Khubd won't be able to freeze until the
disconnect processing is complete, and the disconnect processing can't
proceed until the scanning thread finishes, so the sleep transition
will fail.

The implementation in the 3.2 kernel suffers from an additional
problem.  There the scanning thread calls set_freezable_with_signal(),
and the signals sent by the freezer will mess up the thread's I/O
delays, which are all interruptible.

The solution to both problems is the same: Replace the kernel thread
used for scanning with a delayed-work routine on the system freezable
work queue.  Freezable work queues have the nice property that you can
cancel a work item even while the work queue is frozen, and no signals
are needed.

The 3.2 version of this patch solves the problem in Bugzilla #42730.

Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Acked-by: Seth Forshee &lt;seth.forshee@canonical.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
