Bug 21182

Summary: usb-storage does not work with EHCI enable
Product: Drivers Reporter: Benoit Gschwind (gschwind)
Component: USBAssignee: Greg Kroah-Hartman (greg)
Status: RESOLVED PATCH_ALREADY_AVAILABLE    
Severity: normal CC: armando, bjt23, bugs-kernel, cebbert, gimli, rjw
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.36 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: dmesg with EHCI disable
dmesg with EHCI enable and usb-storage denied
lsusb -v output
EHCI disable ppc and lpm on MacBookAir3,1(2)
simpler, corrected patch

Description Benoit Gschwind 2010-10-26 15:01:05 UTC
Created attachment 35092 [details]
dmesg with EHCI disable

Hello,

when EHCI is selected in kernel build, all usb-storage (at less 3) are denied.

when EHCI is disable all work fine.

On kernel 2.6.35.7 every thing worked fine EHCI enable or not.

I attach 2 dmesg, one with a kernel with the bug (EHCI enable) and one without this bug (EHCI disable)

Best regards
Comment 1 Benoit Gschwind 2010-10-26 15:01:56 UTC
Created attachment 35102 [details]
dmesg with EHCI enable and usb-storage denied
Comment 2 Mourad De Clerck 2010-10-28 23:44:58 UTC
I'v got the same problem. 

2.6.35 was OK, and with 2.6.36 all high speed usb 2.0 devices (SD card reader and the webcam, I think) stopped working.

Maybe interesting: I'm using the same machine as the original reporter, an Apple MacBookPro7,1 (13").

Here are some details from my dmesg:

[    7.444034] usb 1-6: new high speed USB device using ehci_hcd and address 2
[    7.700080] usb 1-6: unable to read config index 0 descriptor/start: -71
[    7.700115] usb 1-6: chopping to 0 config(s)
[    7.764080] usb 1-6: string descriptor 0 read error: -71
[    7.764108] usb 1-6: New USB device found, idVendor=05ac, idProduct=8507
[    7.764110] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    7.764156] usb 1-6: no configuration chosen from 0 choices
[    7.876035] usb 2-1: new high speed USB device using ehci_hcd and address 2
[    8.132081] usb 2-1: unable to read config index 0 descriptor/start: -71
[    8.132114] usb 2-1: chopping to 0 config(s)
[    8.196080] usb 2-1: string descriptor 0 read error: -71
[    8.196108] usb 2-1: New USB device found, idVendor=05ac, idProduct=8403
[    8.196110] usb 2-1: New USB device strings: Mfr=3, Product=4, SerialNumber=2
[    8.196154] usb 2-1: no configuration chosen from 0 choices
Comment 3 Mourad De Clerck 2010-10-28 23:47:27 UTC
Created attachment 35432 [details]
lsusb -v output

lsusb -v reports some errors:

can't get device qualifier: Protocol error
can't get debug descriptor: Protocol error
cannot read device status, Protocol error (71)

lsusb -t segfaults
Comment 4 Edgar Hucek 2010-11-15 19:12:39 UTC
I face the same problem on a MacBookAir3,1. But for me it happens on every USB device i plug into the USB ports.
Comment 5 Edgar Hucek 2010-11-15 19:16:26 UTC
It is also present in 2.6.37-rc1-git11.
Comment 6 Edgar Hucek 2010-11-15 22:36:46 UTC
Created attachment 37282 [details]
EHCI disable ppc and lpm on MacBookAir3,1(2)

Looks like PPC and LPM does not work on the MacBookAir3,1(2). It seems also other MacBook's with the Nvidia chipset are affected by this problem.
Comment 7 Brian Tarricone 2010-11-20 09:50:43 UTC
*** Bug 23192 has been marked as a duplicate of this bug. ***
Comment 8 Brian Tarricone 2010-11-20 10:36:18 UTC
Created attachment 37702 [details]
simpler, corrected patch

(In reply to comment #6)
> Created an attachment (id=37282) [details]
> EHCI disable ppc and lpm on MacBookAir3,1(2)

There are a few problems with this patch:

1. ->has_use_ppcd is not initialized anywhere, so it's gonna always be zero, for all hardware, not just the problematic chipset.

2. The chipset check is too late; with #1 corrected, ppcd will get disabled after ehci_init() gets called.  This probably isn't a problem, since nothing is done with ehci->command in ehci_init().  Actually, can probably just do away with ->has_use_ppcd entirely.

3. Not a big deal, but there's no need to blacklist 0x0d9c, as that's the OHCI controller, not EHCI.
Comment 9 Benoit Gschwind 2010-11-20 11:18:16 UTC
I tested the early one and it's work on affected MBA.

I will test the update as soon as possible.
Comment 10 Edgar Hucek 2010-11-20 16:14:44 UTC
Can confirm that the new patch works fine on my MacBookAir3,1.
Comment 11 Greg Kroah-Hartman 2010-11-20 16:42:33 UTC
Can someone submit the patch to linux-usb@vger.kernel.org so that it can
be reviewed and applied properly?
Comment 12 Brian Tarricone 2010-11-21 00:34:47 UTC
(In reply to comment #11)
> Can someone submit the patch to linux-usb@vger.kernel.org so that it can
> be reviewed and applied properly?

Er, crap, I just accidentally sent to linux-kernel.  Sorry about that; I'll send to linux-usb as well.
Comment 13 Armando Di Cianno 2010-11-27 06:02:41 UTC
This latest patch fixes ticket #23312 as well.
Comment 14 Rafael J. Wysocki 2010-11-27 20:12:23 UTC
Handled-By : Brian Tarricone <brian@tarricone.org>
Patch : https://bugzilla.kernel.org/attachment.cgi?id=37702
Comment 15 Rafael J. Wysocki 2010-11-27 20:17:48 UTC
*** Bug 23312 has been marked as a duplicate of this bug. ***
Comment 16 Chuck Ebbert 2011-06-22 10:37:45 UTC
Attachment 37702 [details] was merged as commit a85b4e7f4481c5a1ca89fa63c9c871151965075e in 2.6.37