Odd behavior in musb_hdrc OTG if gadget drivers are modules

From: david . hagood
Date: Thu Jan 22 2009 - 16:46:47 EST


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.

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.


--
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/