• Ying Xue's avatar
    eql: use __dev_get_by_name instead of dev_get_by_name to find interface · ebd93a7d
    Ying Xue authored
    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: default avatarYing Xue <ying.xue@windriver.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ebd93a7d
eql.c 14.6 KB