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)
commitebd93a7daf40d61b994b9928dd7bf26e0dcca10d
tree5d650b03e979294e95b51718fd0a14dc19a0181b
parent0917b9334b1cc130e91a53b2e3bbaae760fc50ee
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