• Sebastian Andrzej Siewior's avatar
    usb: musb: call musb_start() only once in OTG mode · ae44df2e
    Sebastian Andrzej Siewior authored
    In commit 001dd84a ("usb: musb: start musb on the udc side, too") it was
    ensured that the state engine is started also in OTG mode after a
    removal / insertion of the gadget.
    Unfortunately this change also introduced a bug: If the device is
    configured as OTG and it connected with a remote host _without_ loading
    a gadget then we bug() later (because musb->otg->gadget is not
    initialized).
    Initially I assumed it might be nice to have the host part of musb in
    OTG mode working without having a gadget loaded. This bug and fact that
    it wasn't working like this before the host/gadget split made me realize
    that this was a silly idea.
    This patch now introduces back the old behavior where in OTG mode the
    host mode is only working after the gadget has been loaded.
    
    Cc: stable@vger.kernel.org # v3.11
    Cc: Daniel Mack <zonque@gmail.com>
    Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
    Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
    ae44df2e
musb_virthub.c 13.1 KB