From: Eric Dumazet Date: Wed, 4 Nov 2009 18:59:38 +0000 (-0800) Subject: decnet: avoid touching device refcount in dn_dev_by_index() X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=b4d745db12bd2d45a456565ed63325bbfc689e68;p=openwrt%2Fstaging%2Fblogic.git decnet: avoid touching device refcount in dn_dev_by_index() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller --- diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c index 6e1f085db06a..d82694d930b4 100644 --- a/net/decnet/dn_dev.c +++ b/net/decnet/dn_dev.c @@ -600,15 +600,17 @@ static void dn_dev_check_default(struct net_device *dev) dev_put(dev); } +/* + * Called with RTNL + */ static struct dn_dev *dn_dev_by_index(int ifindex) { struct net_device *dev; struct dn_dev *dn_dev = NULL; - dev = dev_get_by_index(&init_net, ifindex); - if (dev) { + + dev = __dev_get_by_index(&init_net, ifindex); + if (dev) dn_dev = dev->dn_ptr; - dev_put(dev); - } return dn_dev; }