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

From: Ingo Molnar
Date: Fri Jan 02 2009 - 07:01:39 EST



* 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
--
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/