Re: [patch 00/94] 2.6.28.1 stable review

From: Alan Stern
Date: Thu Jan 15 2009 - 16:20:05 EST


On Thu, 15 Jan 2009, Stefan Lippers-Hollmann wrote:

> Please consider adding the following patch, referring to
> http://bugzilla.kernel.org/show_bug.cgi?id=12301
>
> commit 2caf7fcdb8532045680f06b67b9e63f0c9613aaa
> Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
> Date: Wed Dec 31 11:31:33 2008 -0500
>
> USB: re-enable interface after driver unbinds
>
> This patch (as1197) fixes an error introduced recently. Since a
> significant number of devices can't handle Set-Interface requests, we
> no longer call usb_set_interface() when a driver unbinds from an
> interface, provided the interface is already in altsetting 0. However
> the interface still does get disabled, and the call to
> usb_set_interface() was the only thing re-enabling it. Since the
> interface doesn't get re-enabled, further attempts to use it fail.
>
> So the patch adds a call to usb_enable_interface() when a driver
> unbinds and the interface is in altsetting 0. For this to work
> right, the interface's endpoints have to be re-enabled but their
> toggles have to be left alone. Therefore an additional argument is
> added to usb_enable_endpoint() and usb_enable_interface(), a flag
> indicating whether or not the endpoint toggles should be reset.
>
> This is a forward-ported version of a patch which fixes Bugzilla
> #12301.
>
> Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
> Reported-by: David Roka <roka@xxxxxxxx>
> Reported-by: Erik Ekman <erik@xxxxxxx>
> Tested-by: Erik Ekman <erik@xxxxxxx>
> Tested-by: Alon Bar-Lev <alon.barlev@xxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
>
> This patch seems to fix other USB related issues in 2.6.28 as well, for
> example:
> - random failures to boot from usb-storage (sometimes it works, sometimes
> it's slower to detect the rootfs, sometimes it fails alltogether)
> - problems to detect USB scanners (Epson snapscan (3490), invoking xsane
> the first time fails to detect the scanner, the second time the scanner
> warms up, but fails to get detected by xsane, the third time it finally
> works - sometimes it works directly).
> - issues to connect a ZyDAS zd1211rw based USB wlan stick through wpa2psk
> with wpasupplicant.
>
> Adding this patch (slightly backported to 2.6.28) seems to fix these issues
> reliably. Rediff/ backport below, tested under the circumstances above and
> hopefully correct.

It turns out that this patch isn't sufficient. Additional changes are
needed, as posted here:

http://marc.info/?l=linux-usb&m=123196296431175&w=2

In principle these two patches should be combined into a single one.
Unfortunately the new patch has not yet even been submitted for
mainline, let alone accepted, so it can't go into a stable kernel.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/