On Sun, Feb 20, 2022 at 03:15:53PM -0800, Tong Zhang wrote: > 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 Please do not put #ifdef in .c files. They should be in a .h file instead. thanks, greg k-h