Re: Odd behavior in musb_hdrc OTG if gadget drivers are modules

From: Felipe Balbi
Date: Wed Feb 25 2009 - 16:17:34 EST


On Thu, Jan 22, 2009 at 03:46:28PM -0600, david.hagood@xxxxxxxxx wrote:
> I've spend the day tracking down a weird behavior on a Beagleboard with
> 2.6.29-rc2-omap1.
>
> If you select the mode for the musb to operate in OnTheGo mode
> (CONFIG_USB_MUSB_OTG), and if you compile the gadget drivers as modules,
> the the USB port will NOT be brought up at system boot, even if it has a
> USB mini-A cable plugged in (and thus should be in host mode, not gadget
> mode).
>
> If you then modprobe an appropriate gadget driver, then the interface will
> be brought up in host mode.

that's expected. When you have otg selected, you can only let musb work
when it's fully functional on both roles ;-)

> If you DON'T modprobe a gadget driver, AND you attempt to force the port
> to host mode by
> echo host > /sys/devices/platform/musb_hdrc/mode
>
> Then we get a kernel page fault trying to change modes, even though we are
> changing to host mode, which should be valid.
>
> It seems to me that either the port should be brought up in host mode if
> no gadget drivers are loaded, and an attempt to switch to gadget mode
> should fail if no driver is loaded, OR there should be a config options to
> set what the default gadget driver is in the absence of one being loaded
> by the system.

not really, imagine what would happen, for example, if when you don't
have a gadget driver loaded, the other side tries HNP...

--
balbi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/