From: Grazvydas Ignotas Date: Sun, 10 Mar 2013 00:49:14 +0000 (+0200) Subject: usb: musb: gadget: clear gadget_driver when gadget is stopped X-Git-Tag: v3.10-rc1~190^2~11^2~72 X-Git-Url: http://git.cascardo.info/?a=commitdiff_plain;h=e21de10cd8b1338200d96038aa66fb966fcf6ed0;p=cascardo%2Flinux.git 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 Signed-off-by: Felipe Balbi --- diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c index e8408883ab0d..ff6ba3adf5fe 100644 --- a/drivers/usb/musb/musb_gadget.c +++ b/drivers/usb/musb/musb_gadget.c @@ -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);