Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e21de10c authored by Grazvydas Ignotas's avatar Grazvydas Ignotas Committed by Felipe Balbi
Browse files

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: default avatarGrazvydas Ignotas <notasas@gmail.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent e5615112
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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);