|
@@ -1856,6 +1856,7 @@ int __init musb_gadget_setup(struct musb *musb)
|
|
|
|
|
|
return 0;
|
|
|
err:
|
|
|
+ musb->g.dev.parent = NULL;
|
|
|
device_unregister(&musb->g.dev);
|
|
|
return status;
|
|
|
}
|
|
@@ -1863,7 +1864,8 @@ err:
|
|
|
void musb_gadget_cleanup(struct musb *musb)
|
|
|
{
|
|
|
usb_del_gadget_udc(&musb->g);
|
|
|
- device_unregister(&musb->g.dev);
|
|
|
+ if (musb->g.dev.parent)
|
|
|
+ device_unregister(&musb->g.dev);
|
|
|
}
|
|
|
|
|
|
/*
|