Re: [BUG] Regression in v2.6.28 introduced by: 'USB: skip Set-Interface(0) if already in altsetting 0'



Ingo Molnar <mingo@xxxxxxx> writes:

* Jan Scholz <scholz@xxxxxxxxxxxxxxxxxxxxx> wrote:

Hi,

In v2.6.28 my usb bluetooth device disappears after suspend to ram:

$ hcitool dev
Devices:
hci0 00:0D:93:15:D6:E8
$ echo mem > /sys/power/state
$ hcitool dev
Devices:
$

The problem does not occur with the (older) hci_usb.ko, but only with
btusb.ko.

This is the output of lsusb:
Bus 001 Device 003: ID 05ac:8203 Apple Computer, Inc. Bluetooth HCI

Bisecting finds commit 24c0996 (USB: skip Set-Interface(0) if already in
altsetting 0) as the first bad commit, and indeed if I use 2.6.28 with
24c0996 reverted, the bluetooth device survives suspend to ram.

If you need more information/test/etc please let me know.

Regards,
Jan

commit 24c0996a6b73e2554104961afcc8659534503e0d
Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Date: Mon Dec 1 10:24:41 2008 -0500

USB: skip Set-Interface(0) if already in altsetting 0

When a driver unbinds from an interface, usbcore always sends a
Set-Interface request to reinstall altsetting 0. Unforunately, quite
a few devices have buggy firmware that crashes when it receives this
request.

To avoid such problems, this patch (as1180) arranges to send the
Set-Interface request only when the interface is not already in
altsetting 0.

Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

here's a fix patch that appears to be dealing with aspects of this commit:

http://lkml.org/lkml/2009/1/2/47

you might want to give it a try.

Ingo


Hi Ingo,

That patch is actually just 24c099 reverted, and as I wrote in the
previous post it indeed fixes the problem.

Thanks anyway,
Jan
--
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/



Relevant Pages