Hi, Robert Jarzmik <robert.jarzmik@xxxxxxx> writes: > Felipe Balbi <balbi@xxxxxx> writes: > >> pxa27x disconnects pullups on suspend but doesn't >> notify the gadget driver about it, so gadget driver >> can't disable the endpoints it was using. >> >> This causes problems on resume because gadget core >> will think endpoints are still enabled and just >> ignore the following usb_ep_enable(). >> >> Fix this problem by calling >> gadget_driver->disconnect(). > Thanks for doing this for me. >> @@ -2535,6 +2535,7 @@ static int pxa_udc_suspend(struct platform_device *_dev, pm_message_t state) >> udc_disable(udc); >> udc->pullup_resume = udc->pullup_on; >> dplus_pullup(udc, 0); >> + udc->driver->disconnect(&udc->gadget); > If no driver is bound, this will segfault, right ? > Shouldn't an "if (udc->driver)" protect this line ? good catch. v2 coming shortly. -- balbi
Attachment:
signature.asc
Description: PGP signature