mirror of
https://github.com/torvalds/linux
synced 2024-10-10 13:24:04 +00:00
usb: udc: core: fix error handling
The udc device needs to be deleted if error occurs
Fixes: 855ed04a37
("usb: gadget: udc-core: independent registration of
gadgets and gadget drivers")
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
This commit is contained in:
parent
7442e6db5b
commit
17a1dc5e22
|
@ -1145,7 +1145,7 @@ int usb_add_gadget_udc_release(struct device *parent, struct usb_gadget *gadget,
|
||||||
if (ret != -EPROBE_DEFER)
|
if (ret != -EPROBE_DEFER)
|
||||||
list_del(&driver->pending);
|
list_del(&driver->pending);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err4;
|
goto err5;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1154,6 +1154,9 @@ int usb_add_gadget_udc_release(struct device *parent, struct usb_gadget *gadget,
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
err5:
|
||||||
|
device_del(&udc->dev);
|
||||||
|
|
||||||
err4:
|
err4:
|
||||||
list_del(&udc->list);
|
list_del(&udc->list);
|
||||||
mutex_unlock(&udc_lock);
|
mutex_unlock(&udc_lock);
|
||||||
|
|
Loading…
Reference in a new issue