usb: musb: gadget: clear gadget_driver when gadget is stopped
Some musb glue drivers use gadget_driver pointer to know if any gadget drivers are loaded at some moment and base further decisions on it, like to do runtime suspend/resume or not. Right now the pointer is left alone on stop and OMAP musb glue later does wrong runtime_pm decisions because of it. Clear the gadget_driver pointer on remove, it's invalid after stop anyway. Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
e561511280
commit
e21de10cd8
|
@ -1934,6 +1934,7 @@ static int musb_gadget_stop(struct usb_gadget *g,
|
|||
dev_dbg(musb->controller, "unregistering driver %s\n", driver->function);
|
||||
|
||||
musb->is_active = 0;
|
||||
musb->gadget_driver = NULL;
|
||||
musb_platform_try_idle(musb, 0);
|
||||
spin_unlock_irqrestore(&musb->lock, flags);
|
||||
|
||||
|
|
Loading…
Reference in New Issue