----- Mail original -----
De: "Jassi Brar" jaswinder.singh@linaro.org À: "Émeric Vigier" emeric.vigier@savoirfairelinux.com Cc: "Vikram Pandita" vikram.pandita@ti.com, "linaro-android" linaro-android@lists.linaro.org, pandaboard@googlegroups.com, omapandroid-discussion@gforge.ti.com Envoyé: Mercredi 4 Juillet 2012 11:22:29 Objet: Re: [Omapandroid-discussion] smsc95xx: download ok, upload hangs
On 4 July 2012 18:51, Émeric Vigier emeric.vigier@savoirfairelinux.com wrote:
Disabling CONFIG_CPU_IDLE does not improve anything, TX remains stuck. Interrupt 109 ehci_usb:usb1 occurs, I logged usb_hcd_irq successfully, but only on when RX i on-going. When it occurs, my TX gets resumed for some time. When I move my mouse, dozen of 109 interrupts occurs, then TX gets resumed for a longer period. And eventually got stuck again.
I made a usbmon trace yesterday. I am not a USB expert, but if someone in the room finds something (not) obvious (to me), that would make my day (week actually...). http://pastebin.com/v9GXn5Z7
Perhaps someone could relieve me of my naivety, but I think unlike mouse/keyboard input and ethernet RX, the TX isn't triggered by any interrupt, so WFI not moving on is only natural ?
You may be right, I only see interrupts in usbmon traces when I moved my USB mouse. The fact that mouse activity resumes TX activity would then not be related to interrupts, but something else. Argh... I hate making assumptions, because I know it is the worst way to debug a problem.
I booted linaro kernel built with panda_defconfig, and my current android images. Android zygote did not start, but I could test eth0 from command line anyway. Not surprisingly, TX worked fine, achieving ~10MBps (compared to 20KBps when TX gets stuck).
The panda_defconfig from linaro and mine has only CONFIG_DYNAMIC_DEBUG difference. Then my bug must come from the sources: $ git diff kernel_linaro/drivers/usb kernel/drivers/usb > linaro-11.09_android-omap-panda-3.0_kernel-drivers-usb.diff http://pastebin.com/Cdas1SMc
There is a huge part concerning PM_RUNTIME in drivers/usb/host/ehci-omap.c that looks suspect... I will try without related patches.
$ git diff kernel_linaro/drivers/net/usb kernel/drivers/net/usb only contains diffs on cdc_ncm.c, asix.c. Not interesting...
$ git diff kernel_linaro/drivers/net kernel/drivers/net has huge differences... But I prefer to ignore them for now.
git diff kernel_linaro/arch/arm/mach-omap2 kernel/arch/arm/mach-omap2 has huge differences as well... The omap44xx_usbhs_ehci_hwmod is not present in linaro kernel for instance.
Regards, Emeric