[PATCH] Linking into 2.4 kernel
Pavel Roskin
proski
Wed May 14 16:41:43 PDT 2003
Hello!
__MOD_DEC_USE_COUNT and __MOD_INC_USE_COUNT should not be called if MODULE
is not defined, i.e. when the module is compiled into the kernel. For
2.4 kernels this causes kernel oops when the interface is being brought
up. Thanks to Christian Lauterbach for reporting this bug.
A minimal patch is attached.
A better solution would be to use SET_MODULE_OWNER(dev) and let the
network code lock and unlock the modules. That's what the orinoco driver
does for both 2.4 and 2.5 kernels.
However, this may break 2.2 kernels and I don't have time and desire to
handle 2.2, 2.4 and 2.5 kernels separately and test the new code with all
of them.
--
Regards,
Pavel Roskin
-------------- next part --------------
--- hostap.c
+++ hostap.c
@@ -681,7 +681,7 @@ static int prism2_close(struct net_devic
#ifdef NEW_MODULE_CODE
module_put(local->hw_module);
-#else
+#elif MODULE
__MOD_DEC_USE_COUNT(local->hw_module);
#endif
@@ -701,7 +701,7 @@ static int prism2_open(struct net_device
#ifdef NEW_MODULE_CODE
if (!try_module_get(local->hw_module))
return -ENODEV;
-#else
+#elif MODULE
__MOD_INC_USE_COUNT(local->hw_module);
#endif
More information about the Hostap
mailing list