|
@@ -2055,15 +2055,6 @@ bad_config:
|
|
|
|
|
|
}
|
|
|
|
|
|
- return 0;
|
|
|
-
|
|
|
-fail:
|
|
|
- if (musb->clock)
|
|
|
- clk_put(musb->clock);
|
|
|
- device_init_wakeup(dev, 0);
|
|
|
- musb_free(musb);
|
|
|
- return status;
|
|
|
-
|
|
|
#ifdef CONFIG_SYSFS
|
|
|
status = device_create_file(dev, &dev_attr_mode);
|
|
|
status = device_create_file(dev, &dev_attr_vbus);
|
|
@@ -2072,12 +2063,31 @@ fail:
|
|
|
#endif /* CONFIG_USB_GADGET_MUSB_HDRC */
|
|
|
status = 0;
|
|
|
#endif
|
|
|
+ if (status)
|
|
|
+ goto fail2;
|
|
|
|
|
|
- return status;
|
|
|
+ return 0;
|
|
|
|
|
|
fail2:
|
|
|
+#ifdef CONFIG_SYSFS
|
|
|
+ device_remove_file(musb->controller, &dev_attr_mode);
|
|
|
+ device_remove_file(musb->controller, &dev_attr_vbus);
|
|
|
+#ifdef CONFIG_USB_MUSB_OTG
|
|
|
+ device_remove_file(musb->controller, &dev_attr_srp);
|
|
|
+#endif
|
|
|
+#endif
|
|
|
musb_platform_exit(musb);
|
|
|
- goto fail;
|
|
|
+fail:
|
|
|
+ dev_err(musb->controller,
|
|
|
+ "musb_init_controller failed with status %d\n", status);
|
|
|
+
|
|
|
+ if (musb->clock)
|
|
|
+ clk_put(musb->clock);
|
|
|
+ device_init_wakeup(dev, 0);
|
|
|
+ musb_free(musb);
|
|
|
+
|
|
|
+ return status;
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/*-------------------------------------------------------------------------*/
|