mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 08:31:55 +00:00
usb: gadget: core: fix bug when removing gadget drivers
usb_gadget_disconnect() is responsible of removing data pullups. Before doing that we must, first, tell gadget driver we're disconnecting (by calling disconnect method on gadget driver structure), unbind the gadget driver and stop the controller. Signed-off-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
3c2d636a1c
commit
6f39504de5
@ -210,10 +210,10 @@ static void usb_gadget_remove_driver(struct usb_udc *udc)
|
||||
kobject_uevent(&udc->dev.kobj, KOBJ_CHANGE);
|
||||
|
||||
if (udc_is_newstyle(udc)) {
|
||||
usb_gadget_disconnect(udc->gadget);
|
||||
udc->driver->disconnect(udc->gadget);
|
||||
udc->driver->unbind(udc->gadget);
|
||||
usb_gadget_udc_stop(udc->gadget, udc->driver);
|
||||
|
||||
usb_gadget_disconnect(udc->gadget);
|
||||
} else {
|
||||
usb_gadget_stop(udc->gadget, udc->driver);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user