diff options
-rw-r--r-- | drivers/usb/musb/musb_core.c | 7 | ||||
-rw-r--r-- | drivers/usb/musb/musb_debugfs.c | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c index 3466cd53e9c..27aaaa023a1 100644 --- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c @@ -2056,12 +2056,12 @@ bad_config: status = musb_init_debugfs(musb); if (status < 0) - goto fail2; + goto fail4; #ifdef CONFIG_SYSFS status = sysfs_create_group(&musb->controller->kobj, &musb_attr_group); if (status) - goto fail4; + goto fail5; #endif dev_info(dev, "USB %s mode controller at %p using %s, IRQ %d\n", @@ -2078,6 +2078,9 @@ bad_config: return 0; +fail5: + musb_exit_debugfs(musb); + fail4: if (!is_otg_enabled(musb) && is_host_enabled(musb)) usb_remove_hcd(musb_to_hcd(musb)); diff --git a/drivers/usb/musb/musb_debugfs.c b/drivers/usb/musb/musb_debugfs.c index b6a27bab223..7768634a757 100644 --- a/drivers/usb/musb/musb_debugfs.c +++ b/drivers/usb/musb/musb_debugfs.c @@ -289,7 +289,7 @@ err0: return ret; } -void __exit musb_exit_debugfs(struct musb *musb) +void /* __init_or_exit */ musb_exit_debugfs(struct musb *musb) { debugfs_remove_recursive(musb_debugfs_root); } |