From: Felipe Balbi Date: Thu, 25 Mar 2010 11:25:18 +0000 (+0200) Subject: usb: musb: debugfs: musb_exit_debugfs() can be called on probe X-Git-Tag: v2.6.35-rc1~471^2~172 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=b0f9da7e02776a8c5ad61b9e24feebf7b12a7243;p=karo-tx-linux.git usb: musb: debugfs: musb_exit_debugfs() can be called on probe when we fail to probe(), we can call musb_exit_debugfs(). Allow that by removing section annotations. Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c index 3466cd53e9c8..27aaaa023a1e 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 b6a27bab223a..7768634a7576 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); }