proc fs entries need to be removed when module is removed, otherwise when we try to insert the module again, kernel will complain [ 493.068012] proc_dir_entry 'net/ieee80211' already registered [ 493.271973] proc_mkdir+0x18/0x20 [ 493.272136] ieee80211_debug_init+0x28/0xde8 [r8192u_usb] [ 493.272404] rtl8192_usb_module_init+0x10/0x161 [r8192u_usb] [ 13.910616] proc_dir_entry 'net/rtl819xU' already registered [ 13.918931] proc_mkdir+0x18/0x20 [ 13.919098] rtl8192_usb_module_init+0x142/0x16d [r8192u_usb] Signed-off-by: Tong Zhang <ztong0001@xxxxxxxxx> --- drivers/staging/rtl8192u/r8192U_core.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/staging/rtl8192u/r8192U_core.c b/drivers/staging/rtl8192u/r8192U_core.c index 364e1ca94f70..683afdc667bc 100644 --- a/drivers/staging/rtl8192u/r8192U_core.c +++ b/drivers/staging/rtl8192u/r8192U_core.c @@ -4825,6 +4825,11 @@ static int __init rtl8192_usb_module_init(void) static void __exit rtl8192_usb_module_exit(void) { usb_deregister(&rtl8192_usb_driver); + remove_proc_entry(RTL819XU_MODULE_NAME, init_net.proc_net); + +#ifdef CONFIG_IEEE80211_DEBUG + ieee80211_debug_exit(); +#endif RT_TRACE(COMP_DOWN, "Exiting"); } -- 2.25.1