On Thu, Mar 14, 2013 at 06:50:44PM +0800, Huang Rui wrote: > On Tue, Mar 12, 2013 at 11:48:49PM +0800, Alan Stern wrote: > > On Tue, 12 Mar 2013, Huang Rui wrote: > > > > > Hi Alan, > > > > > > The same problem is encountered in my side. Bruce's log doesn't > > > demonstrate the break point. I attached a new one. > > > > > > [ 14.359603] hub 1-0:1.0: state 7 ports 4 chg 0004 evt 0000 > > > [ 14.359613] hub 1-0:1.0: port 2, status 0101, change 0000, 12 Mb/s > > > [ 14.385538] ohci_hcd 0000:00:12.0: port[1] reset timeout, stat 00000111 > > > [ 14.431601] hub 3-0:1.0: port 2: status 0101 change 0001 > > > [ 14.435601] hub 4-0:1.0: port 2: status 0203 change 0001 > > > [ 14.439596] ohci_hcd 0000:00:12.0: GetStatus roothub.portstatus [1] = 0x00100103 PRSC PPS PES CCS > > > [ 14.495599] usb 1-2: new full-speed USB device number 2 using ohci_hcd > > > [ 14.521546] ohci_hcd 0000:00:12.0: port[1] reset timeout, stat 00000113 > > > [ 14.575610] ohci_hcd 0000:00:12.0: GetStatus roothub.portstatus [1] = 0x00100103 PRSC PPS PES CCS > > > [ 14.656656] usb 1-2: Parent hub missing LPM exit latency info. Power management will be impacted. > > > [ 14.658656] usb 1-2: not running at top speed; connect to a high speed hub > > > [ 14.664658] usb 1-2: default language 0x0409 > > > [ 14.670658] usb 1-2: udev 2, busnum 1, minor = 1 > > > [ 14.670660] usb 1-2: New USB device found, idVendor=05e3, idProduct=0732 > > > [ 14.670662] usb 1-2: New USB device strings: Mfr=3, Product=4, SerialNumber=5 > > > [ 14.670664] usb 1-2: Product: USB Reader > > > [ 14.670666] usb 1-2: Manufacturer: Genesys > > > [ 14.670668] usb 1-2: SerialNumber: 000000000038 > > > > That is not the relevant part of the log. Here's the important part: > > > > [ 28.924735] ehci-pci 0000:00:12.2: GetStatus port:2 status 001803 0 ACK POWER sig=j CSC CONNECT > > [ 28.924739] hub 5-0:1.0: port 2: status 0501 change 0001 > > ... > > [ 30.352837] ehci-pci 0000:00:12.2: port 2 full speed --> companion > > > > Thanks a lot to correct me and point that. > > > This shows that the card reader did attach to the EHCI controller, but > > then failed to indicate that it was capable of high-speed operation. > > I have no idea why not. > > > > Can you use git bisect to find the commit responsible for this? > > I used git bisect to locate the break commit between 3.0 and 3.9, but > when the kernel is from 3.7 to 3.8, this issue does not reproduce > stablely. During 3.8-rc3, I boot many times with the same kernel, > sometimes are good and sometimes are bad(attached log). So I can not > find break commit exactly... sorry :( > Hi Alan, Thank you to take a look at this issue. Sorry to disturb you again. The PORT ENABLE(PORT_PE) bit in PORTSC register is not set when the port reset, in other words, host controller and device might not do alternating sequence of Chirp Ks and Chirp Js or not be detected. Am I right? I found why the boot issue is not alway reproduced. Because sometimes ehci_hcd is not loaded before ohci_hcd. [ 25.068090] Warning! ehci_hcd should always be loaded before uhci_hcd and ohci_hcd, not after If ehci_hcd is loaded firstly, the USB Reader(in my side) is always detected as high speed device. Then I do below change and boot issue isn't encountered again. diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index 180a2b0..30fc91c 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c @@ -1325,7 +1325,7 @@ static int __init ohci_hcd_mod_init(void) clear_bit(USB_OHCI_LOADED, &usb_hcds_loaded); return retval; } -module_init(ohci_hcd_mod_init); +late_initcall(ohci_hcd_mod_init); static void __exit ohci_hcd_mod_exit(void) { But I think it's not a good solution. Have you any idea to have an appropriate way to make ehci_hcd loaded firstly? Thanks & Best Regards, Rui -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html