Bug 6128

Summary: Problem with kernel 2.6.15 and EHCI-HCD
Product: Drivers Reporter: Yaz (yazar256)
Component: USBAssignee: David Brownell (dbrownell)
Status: CLOSED CODE_FIX    
Severity: blocking CC: bunk, greg, stern
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.15.x Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 5089    
Attachments: experimental patch against 2.6.14-rc4

Description Yaz 2006-02-24 09:35:58 UTC
Hello,

I have a problem with the last stable version of linux (2.6.15.x) : it hangs at
boot while loading ehci_hcd.
The cursor is always blinking, but everything is stopped. There was no problem
with the kernel 2.6.14 and previous versions.

Here are the two last lines that appear on the screen :

ehci_hcd 0000:00:1d.7: EHCI Host Controller
ehci_hcd 0000:00:1d.7: debug port 1

Of course, I use vanilla sources with no patch. My motherboard is a MSI 865PE
Neo2-P, with an Intel 865PE chipset.
I have the newest BIOS.
There is something strange because I have exactly the same problem with FreeBSD
6 which also hangs while loading ehci...

It seems that I'm not the only one who have this problem :
http://lkml.org/lkml/2006/1/4/170
But it hasn't been resolved.

I also tried with the 2.6.16-rc4 kernel and it's worse, it hangs before (I don't
remember where exactly).

Thanks.

Fred

(sorry for my english)
Comment 1 Greg Kroah-Hartman 2006-02-24 09:45:54 UTC
Where exactly does it hang in the 2.6.16-rc4 kernel?

And if you enable CONFIG_USB_DEBUG, does it help show more information?
Comment 2 Yaz 2006-02-24 10:52:53 UTC
With CONFIG_USB_DEBUG, and when I add "debug" in grub :

- With 2.6.15 :

ehci_hcd 0000:00:1d.7: EHCI Host Controller
ehci_hcd 0000:00:1d.7: reset hcs_params 0x104208 dbg=1 cc=4 pcc=2 ordered !ppc
ports=8
ehci_hcd 0000:00:1d.7: reset hcc_params 6871 thresh 7 uframes 1024 64 bit addr
ehci_hcd 0000:00:1d.7: debug port 1
ehci_hcd 0000:00:1d.7: capability 0001 at 68

- With 2.6.16-rc4 :

0000:00:1d.0: uhci_check_and_reset_hc: legsup = 0x0030
0000:00:1d.0: Performing full reset
0000:00:1d.1: uhci_check_and_reset_hc: legsup = 0x0030
0000:00:1d.1: Performing full reset
0000:00:1d.2: uhci_check_and_reset_hc: legsup = 0x0030
0000:00:1d.2: Performing full reset
0000:00:1d.3: uhci_check_and_reset_hc: legsup = 0x0030
0000:00:1d.3: Performing full reset
Comment 3 Alan Stern 2006-02-24 13:20:37 UTC
Check and see if a BIOS update is available for your machine.  This type of
problem is caused by a BIOS bug.
Comment 4 Yaz 2006-02-24 13:30:15 UTC
I have already done the latest BIOS update.
There was no problem with Linux 2.6.14 and older versions.
Comment 5 David Brownell 2006-02-24 13:54:59 UTC
Re Comment #2, you appear to be saying that UHCI didn't 
come up on 2.6.15 while EHCI did (partly), and on 2.6.16-rc4 
it was EHCI that didn't while UHCI did.  That doesn't seem 
right; I suspect you edited important information out of the 
boot logs. 
 
Comment 6 David Brownell 2006-02-24 13:58:43 UTC
Created attachment 7468 [details]
experimental patch against 2.6.14-rc4

Try this against RC4.  This should pretty much finish morphing
the previous "early handoff" code for EHCI so it matches the
previous EHCI driver code, with the only notable difference
being the SMI now always being forcibly disabled.  (That previous
"early handoff" code was pretty buggy.)
Comment 7 Yaz 2006-02-24 14:24:23 UTC
This patch works !
Thanks !
Comment 8 Adrian Bunk 2006-02-28 14:25:52 UTC
The patch went into Linus' tree and will therefore be in 2.6.16-rc6.