usb: musb: gadget: clear gadget_driver when gadget is stopped
Subsystems (2)
PATCH 1/1 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 <[email protected]>
--- drivers/usb/musb/musb_gadget.c | 1 + 1 file changed, 1 insertion(+)
drivers/usb/musb/musb_gadget.c +1 -0
@@ -2057,6 +2057,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);
Signature · 6 lines
1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html