lkml.org 
[lkml]   [2011]   [Feb]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] [70/139] x25: decrement netdev reference counts on unload
    Date
    2.6.35-longterm review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Apollon Oikonomopoulos <apollon@noc.grnet.gr>

    [ Upstream commit 171995e5d82dcc92bea37a7d2a2ecc21068a0f19]

    x25 does not decrement the network device reference counts on module unload.
    Thus unregistering any pre-existing interface after unloading the x25 module
    hangs and results in

    unregister_netdevice: waiting for tap0 to become free. Usage count = 1

    This patch decrements the reference counts of all interfaces in x25_link_free,
    the way it is already done in x25_link_device_down for NETDEV_DOWN events.

    Signed-off-by: Apollon Oikonomopoulos <apollon@noc.grnet.gr>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Signed-off-by: Andi Kleen <ak@linux.intel.com>

    ---
    net/x25/x25_link.c | 1 +
    1 file changed, 1 insertion(+)

    Index: linux-2.6.35.y/net/x25/x25_link.c
    ===================================================================
    --- linux-2.6.35.y.orig/net/x25/x25_link.c
    +++ linux-2.6.35.y/net/x25/x25_link.c
    @@ -394,6 +394,7 @@ void __exit x25_link_free(void)
    list_for_each_safe(entry, tmp, &x25_neigh_list) {
    nb = list_entry(entry, struct x25_neigh, node);
    __x25_remove_neigh(nb);
    + dev_put(nb->dev);
    }
    write_unlock_bh(&x25_neigh_list_lock);
    }

    \
     
     \ /
      Last update: 2011-02-02 02:03    [W:3.778 / U:1.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site