Messages in this thread | | | Date | Fri, 26 Jul 2013 22:07:14 -0500 | Subject | Re: [PATCH 14/16] usb: musb: dsps: add MUSB_DEVCTL_SESSION back after removal | From | Bin Liu <> |
| |
Sebastian,
On Fri, Jul 26, 2013 at 3:35 PM, Sebastian Andrzej Siewior <bigeasy@linutronix.de> wrote: >> My build server is down this afternoon. Once it comes back next week, >> I will try 3.8 again, to see how I can help on this USB1 host mode >> issue. its devctl register should stay on 0x19 even nothing is >> connected. > > Your help is greatly appreciated. To hear what will happen :) > > Sebastian
I have not tested it yet, but I believe I found why host mode works on TI 3.2 kernel but not on mainline. Please look at Line 786 in 3.2 kernel musb_core.c [1].
773 if ((int_usb & MUSB_INTR_DISCONNECT) && !musb->ignore_disconnect) { ...... 785 if (musb->a_wait_bcon != 0 && 786 is_otg_enabled(musb)) 787 musb_platform_try_idle(musb, jiffies 788 + msecs_to_jiffies(musb->a_wait_bcon));
So when the device is unplugged, *_try_idle() is not called in host mode, then the SESSION bit will stay set. But in mainline kernel, *_try_idle() will be called regardless.
Please let me know your thoughts.
Regards, -Bin.
[1] http://arago-project.org/git/projects/?p=linux-am33x.git;a=blob;f=drivers/usb/musb/musb_core.c;h=075aa5f9bec7cd041aa24eb534209fa756ed84fe;hb=refs/heads/v3.2-staging
| |