From: Hauke M. <ha...@ha...> - 2013-01-03 15:21:43
|
WARNING: /home/hauke/linux/acx-mac80211/acx-mac80211.o(.init.text+0x1bc): Section mismatch in reference from the function init_module() to the function .exit.text:acx_debugfs_exit() The function __init init_module() references a function __exit acx_debugfs_exit(). This is often seen when error handling in the init function uses functionality in the exit path. The fix is often to remove the __exit annotation of acx_debugfs_exit() so it may be used outside an exit section. Signed-off-by: Hauke Mehrtens <ha...@ha...> --- debug.c | 2 +- debug.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/debug.c b/debug.c index ce9e4ca..5b5587d 100644 --- a/debug.c +++ b/debug.c @@ -951,7 +951,7 @@ int __init acx_debugfs_init(void) return 0; } -void __exit acx_debugfs_exit(void) +void acx_debugfs_exit(void) { debugfs_remove_recursive(acx_dbgfs_dir); } diff --git a/debug.h b/debug.h index ff4e3f4..5853c40 100644 --- a/debug.h +++ b/debug.h @@ -9,14 +9,14 @@ typedef ssize_t ((acx_dbgfs_write_t)(acx_device_t *adev, struct file *, const ch int acx_debugfs_add_adev(struct acx_device *adev); void acx_debugfs_remove_adev(struct acx_device *adev); int __init acx_debugfs_init(void); -void __exit acx_debugfs_exit(void); +void acx_debugfs_exit(void); #else static int acx_debugfs_add_adev(struct acx_device *adev) { return 0; } static void acx_debugfs_remove_adev(struct acx_device *adev) { } static int __init acx_debugfs_init(void) { return 0; } -static void __exit acx_debugfs_exit(void) { } +static void acx_debugfs_exit(void) { } #endif /* defined CONFIG_DEBUG_FS */ -- 1.7.10.4 |