]> git.baikalelectronics.ru Git - kernel.git/commit
eql: use __dev_get_by_name instead of dev_get_by_name to find interface
authorYing Xue <ying.xue@windriver.com>
Wed, 15 Jan 2014 02:23:38 +0000 (10:23 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 15 Jan 2014 02:50:46 +0000 (18:50 -0800)
commitca6252d459ca6ecc13dccf5ab6c6e39f47a50c31
tree5d650b03e979294e95b51718fd0a14dc19a0181b
parentac27db6f9e0f038abced231137faddf0e0941101
eql: use __dev_get_by_name instead of dev_get_by_name to find interface

The following call chain indicates that eql_ioctl(), eql_enslave(),
eql_emancipate(), eql_g_slave_cfg() and eql_s_slave_cfg() are
protected under rtnl_lock. So if we use __dev_get_by_name() instead
of dev_get_by_name() to find interface handlers in them, this would
help us avoid to change interface reference counters.

dev_ioctl()
  rtnl_lock()
    dev_ifsioc()
      eql_ioctl()
        eql_enslave()
eql_emancipate()
eql_g_slave_cfg()
eql_s_slave_cfg()
  rtnl_unlock()

Additionally we also change their return values from -EINVAL to
-ENODEV in case that interfaces are no found.

Signed-off-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/eql.c