* module locking for pcnet_cs
@ 2002-12-28 15:16 Jochen Hein
0 siblings, 0 replies; only message in thread
From: Jochen Hein @ 2002-12-28 15:16 UTC (permalink / raw)
To: linux-kernel
I got the "unsafe" module init message von pcnet_cs and decided to
evaluate it. When I remove the MOD_INC_USE_COUNT and
MOD_DEC_USE_COUNT[1] the message vanishes. Bad news is that removing the
module with still active eth0 loops rmmod (removing after "ifconfig
eth0 down" works as expected).
Use count in lsmod is zero, so I think it is not that correct.
Playing[2] with try_module_get() doesn't help me either.
Jochen
[1] This is the probably broken patch:
--- linux-2.5.53/drivers/net/pcmcia/pcnet_cs.c.jh 2002-12-28 10:15:45.000000000 +0100
+++ linux-2.5.53/drivers/net/pcmcia/pcnet_cs.c 2002-12-28 10:16:15.000000000 +0100
@@ -1030,7 +1030,6 @@
return -ENODEV;
link->open++;
- MOD_INC_USE_COUNT;
set_misc_reg(dev);
request_irq(dev->irq, ei_irq_wrapper, SA_SHIRQ, dev_info, dev);
@@ -1064,8 +1063,6 @@
if (link->state & DEV_STALE_CONFIG)
mod_timer(&link->release, jiffies + HZ/20);
- MOD_DEC_USE_COUNT;
-
return 0;
} /* pcnet_close */
[2] Yet another broken patch:
--- linux-2.5.53/drivers/net/pcmcia/pcnet_cs.c.jh 2002-12-28 10:15:45.000000000 +0100
+++ linux-2.5.53/drivers/net/pcmcia/pcnet_cs.c 2002-12-28 11:04:08.000000000 +0100
@@ -1029,8 +1029,8 @@
if (!DEV_OK(link))
return -ENODEV;
+ try_module_get(dev->owner);
link->open++;
- MOD_INC_USE_COUNT;
set_misc_reg(dev);
request_irq(dev->irq, ei_irq_wrapper, SA_SHIRQ, dev_info, dev);
@@ -1064,7 +1064,7 @@
if (link->state & DEV_STALE_CONFIG)
mod_timer(&link->release, jiffies + HZ/20);
- MOD_DEC_USE_COUNT;
+ module_put(dev->owner);
return 0;
} /* pcnet_close */
--
#include <~/.signature>: permission denied
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2002-12-28 15:41 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-12-28 15:16 module locking for pcnet_cs Jochen Hein
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.