|
VK7AX > LINHAM 30.06.08 05:24l 59 Lines 1809 Bytes #999 (0) @ WW
BID : VK7AX-3006XV
Read: GUEST
Subj: [ROSE] unregister_netdevice: waiting for rose0 to become fre
Path: IZ3LSV<IK2XDE<DB0RES<DK0WUE<ON0BEL<VK7AX
Sent: 080630/0325Z @:VK7AX.#ULV.TAS.AUS.OC #:48269 [Ulverstone] FBB7.00g $:VK7A
From: VK7AX@VK7AX.#ULV.TAS.AUS.OC
To : LINHAM@WW
From: Pidoux <f6bvp(AT)free.fr>
Date: Sun, 29 Jun 2008 21:25:21 +0200
To: David Miller <davem(AT)davemloft.net>
CC: netdev(AT)vger.kernel.org, ralf(AT)linux-mips.org,
linux-hams(AT)vger.kernel.org
A bug in ROSE protocol is preventing removal of rose module.
After killing all ROSE and AX25 applications, there are no more
sockets and rose usage count is correctly decreased to null as
seen in /proc/modules :
rose 40120 0 - Live 0xe1071000
However, issuing command rmmod rose displays the following message
in loop forever :
kernel: unregister_netdevice: waiting for rose0 to become free. Usage count = 2
Usage count can be different and seems random (not correlated with
module usage count reached when ROSE applications are loaded).
Tracing the problem shows that above message is sent by core/dev.c
Here is the loop :
while (atomic_read(&dev->refcnt) !=0) {
....
}
Obviously, displayed usage count (dev->refcnt) is not the same as
in /proc/modules or given by command lsmod and also it is not decremented,
i.e. it stays at the same, and probably not relevant, value.
A comment in core/dev.c says that buggy protocol don't correctly call dev_put().
I tried to review rose module source but I have not been able to find a
correct place where dev_put(dev) could be missing either in af_rose.c
or rose_route.c.
Maybe the problem is elsewhere ?
Bernard Pidoux, f6bvp
--
******************************************************************
ABOVE IS A CROSS POST TO THE PACKET RADIO NETWORK IN AN EFFORT TO
PROMOTE FURTHER INTEREST IN HAM SOFTWARE USING LINUX OPERATING
SYSTEMS AND PACKET RADIO
Courtesy Tony VK7AX VK7AX(AT)VK7AX.#ULV.TAS.AUS.OC
******************************************************************
Read previous mail | Read next mail
| |