On Thu, Dec 11, 2008 at 2:38 AM, Grazvydas Ignotas <notasas@xxxxxxxxx> wrote: >> Can you please post whatever patches you need to apply to make it work >> occasionally so others can also look at the issue? > > For pandora, making infinite while loops finite doesn't help much, > kernel crashes later on. Steve had this too: > http://marc.info/?l=linux-omap&m=122378604027303&w=2 > > I did bisect and found that commit > 8b1f0bd44fe490ec631230c8c040753a2bda8caa is causing the hang for me. > Reverting this makes EHCI work again on pandora. > http://marc.info/?l=linux-omap&m=122453174024860&w=2 > A simple revert of that commit resulted in a build failure, so I tried the following patch: --- a/arch/arm/mach-omap2/clock34xx.c +++ b/arch/arm/mach-omap2/clock34xx.c @@ -265,7 +265,7 @@ static int _omap3_noncore_dpll_stop(stru */ static int omap3_noncore_dpll_enable(struct clk *clk) { - int r; + int r, rate; struct dpll_data *dd; if (clk == &dpll3_ck) @@ -275,7 +275,9 @@ static int omap3_noncore_dpll_enable(str if (!dd) return -EINVAL; - if (clk->rate == dd->bypass_clk->rate) + rate = omap2_get_dpll_rate(clk); + + if (dd->bypass_clk->rate == rate) r = _omap3_noncore_dpll_bypass(clk); else r = _omap3_noncore_dpll_lock(clk); Result: no hang at boot, but I still end up with the auto suspend, though the behavior is slightly different (dmesg output this time since it contains more debug info): ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ehci_hcd: block sizes: qh 128 qtd 96 itd 160 sitd 96 ehci-omap ehci-omap.0: ehci_hcd_omap_drv_probe() ehci-omap ehci-omap.0: starting TI EHCI USB Controller ehci-omap ehci-omap.0: idlest2 = 0x0 ehci-omap ehci-omap.0: idlest2 = 0x0 ehci-omap ehci-omap.0: idlest2 = 0x0 ehci-omap ehci-omap.0: idlest2 = 0x0 ehci-omap ehci-omap.0: idlest2 = 0x0 ehci-omap ehci-omap.0: idlest2 = 0x0 ehci-omap ehci-omap.0: idlest2 = 0x0 ehci-omap ehci-omap.0: idlest2 = 0x0 ehci-omap ehci-omap.0: idlest2 = 0x0 ehci-omap ehci-omap.0: idlest2 = 0x0 ehci-omap ehci-omap.0: idlest2 = 0x0 ehci-omap ehci-omap.0: idlest2 = 0x0 ehci-omap ehci-omap.0: idlest2 = 0x0 ehci-omap ehci-omap.0: idlest2 = 0x0 ehci-omap ehci-omap.0: idlest2 = 0x0 ehci-omap ehci-omap.0: TLL RESET DONE ehci-omap ehci-omap.0: Entered ULPI PHY MODE: success ehci-omap ehci-omap.0: OMAP-EHCI Host Controller drivers/usb/core/inode.c: creating file '002' ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 2 ehci-omap ehci-omap.0: park 0 ehci-omap ehci-omap.0: irq 77, io mem 0x48064800 ehci-omap ehci-omap.0: reset command 090b02 park=3 ithresh=9 period=1024 Reset HALT ehci-omap ehci-omap.0: init command 010009 (park)=0 ithresh=1 period=256 RUN usb 1-1: new high speed USB device using musb_hdrc and address 2 ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00 usb usb2: default language 0x0409 usb usb2: uevent usb usb2: usb_probe_device usb usb2: configuration #1 chosen from 1 choice usb usb2: adding 2-0:1.0 (config #1, interface 0) usb 2-0:1.0: uevent hub 2-0:1.0: usb_probe_interface hub 2-0:1.0: usb_probe_interface - got id hub 2-0:1.0: USB hub found hub 2-0:1.0: 3 ports detected hub 2-0:1.0: standalone hub hub 2-0:1.0: individual port power switching hub 2-0:1.0: individual port over-current protection hub 2-0:1.0: power on to power good time: 20ms hub 2-0:1.0: local power source is good hub 2-0:1.0: enabling power on all ports drivers/usb/core/inode.c: creating file '001' usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 usb usb2: Product: OMAP-EHCI Host Controller usb usb2: Manufacturer: Linux 2.6.28-rc7-omap1 ehci_hcd usb usb2: SerialNumber: ehci-omap.0 <snip> hub 2-0:1.0: state 7 ports 3 chg 0000 evt 0000 <snip> usb usb2: uevent usb 2-0:1.0: uevent <snip> hub 2-0:1.0: hub_suspend usb usb2: bus auto-suspend ehci-omap ehci-omap.0: suspend root hub <snip> usb usb2: usb auto-resume ehci-omap ehci-omap.0: resume root hub hub 2-0:1.0: hub_resume hub 2-0:1.0: state 7 ports 3 chg 0000 evt 0000 hub 2-0:1.0: hub_suspend usb usb2: bus auto-suspend ehci-omap ehci-omap.0: suspend root hub -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html