Daniel > On 08.04.2013 09:57, B, Ravi wrote: > >> Hi all, > >> > >> here are some patches to separate the HCD and gadget part of the musb > >> driver so they can be deselected in Kconfig. They also make the driver > >> keep track of the configured port mode that is set from DT, so the > >> actual runtime configuration can be selected dynamically. > >> > >> One thing that is still broken is that once pm_suspend() was called on > >> a musb device on a USB disconnect, the port won't wake up again when a > >> device is plugged back in. > > > > This could be due to SESSION bit removal when root port is disconnected > in otg_timer function. > > Not sure if we are thinking about the same details, but after debuging > this a further, turns out that musb_platform_try_idle() eventually > switches off the entire controller, which then leads to DRVBUS going low > on the board. That, in turn, prevents the interrupt from being triggered > on reconnect, because the host port is not powered anymore. > > I don't know yet how to cope with that, but for now, I simply disabled > the call from musb_stage0_irq() to musb_platform_try_idle() locally. The otg_timer() gets invoked, which removes the session when no device connected to root controller, this is required in otg or dual role mode (Not for host-only mode). Because otg state is un-defined till user's connected a-side of b-side of cable. -- Ravi B -- 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