diff options
author | Ying Xue <ying.xue@windriver.com> | 2014-01-15 10:23:43 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-01-14 18:50:47 -0800 |
commit | a74e9426948cce451af0433c69a120178948cb03 (patch) | |
tree | ff913e11bda927f62166dbb7afd55202abca3710 /net/caif | |
parent | 16b77695ed8fa158be864ee448a9ef4c78457c14 (diff) | |
download | linux-stable-a74e9426948cce451af0433c69a120178948cb03.tar.gz linux-stable-a74e9426948cce451af0433c69a120178948cb03.tar.bz2 linux-stable-a74e9426948cce451af0433c69a120178948cb03.zip |
caif: __dev_get_by_index instead of dev_get_by_index to find interface
The following call chains indicate that chnl_net_open() is under
rtnl_lock protection as __dev_open() is protected by rtnl_lock.
So if __dev_get_by_index() instead of dev_get_by_index() is used
to find interface handler in it, this would help us avoid to change
interface reference counter.
__dev_open()
chnl_net_open()
Cc: Dmitry Tarnyagin <dmitry.tarnyagin@lockless.no>
Signed-off-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/caif')
-rw-r--r-- | net/caif/chnl_net.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/net/caif/chnl_net.c b/net/caif/chnl_net.c index 7344a8fa1bb0..4589ff67bfa9 100644 --- a/net/caif/chnl_net.c +++ b/net/caif/chnl_net.c @@ -285,7 +285,7 @@ static int chnl_net_open(struct net_device *dev) goto error; } - lldev = dev_get_by_index(dev_net(dev), llifindex); + lldev = __dev_get_by_index(dev_net(dev), llifindex); if (lldev == NULL) { pr_debug("no interface?\n"); @@ -307,7 +307,6 @@ static int chnl_net_open(struct net_device *dev) mtu = min_t(int, dev->mtu, lldev->mtu - (headroom + tailroom)); mtu = min_t(int, GPRS_PDP_MTU, mtu); dev_set_mtu(dev, mtu); - dev_put(lldev); if (mtu < 100) { pr_warn("CAIF Interface MTU too small (%d)\n", mtu); |