usb: musb: only remove host/udc if it has been added
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Tue, 20 Aug 2013 16:35:44 +0000 (18:35 +0200)
committerFelipe Balbi <balbi@ti.com>
Tue, 27 Aug 2013 19:18:14 +0000 (14:18 -0500)
commit9047428894660f8f46305917e519ab62f7395cac
tree1661f315da9f809463f606cde44086745619287f
parent51ef74f6400c731827454d010b35b122103fe9f9
usb: musb: only remove host/udc if it has been added

musb_shutdown() removes always USB host and device.
musb_init_controller() adds host and device depending on port_mode. If
port mode is set to HOST then the removal of UDC leads only to:
|(NULL device *): gadget not registered.
and nothing else happens. If port mode is set to DEVICE and we remove
the host then we oops in usb_remove_hcd().
This patch ensures that we only remove host in OTG/host mode and device
only in OTG/device mode to avoid any trouble.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/musb/musb_gadget.c
drivers/usb/musb/musb_host.c