Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Overlapping header include additions in macsec.c A bug fix in 'net' overlapping with the removal of 'version' string in ena_netdev.c Overlapping test additions in selftests Makefile Overlapping PCI ID table adjustments in iwlwifi driver. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -109,8 +109,9 @@ int ethnl_set_debug(struct sk_buff *skb, struct genl_info *info)
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
dev = req_info.dev;
|
||||
ret = -EOPNOTSUPP;
|
||||
if (!dev->ethtool_ops->get_msglevel || !dev->ethtool_ops->set_msglevel)
|
||||
return -EOPNOTSUPP;
|
||||
goto out_dev;
|
||||
|
||||
rtnl_lock();
|
||||
ret = ethnl_ops_begin(dev);
|
||||
@@ -131,6 +132,7 @@ out_ops:
|
||||
ethnl_ops_complete(dev);
|
||||
out_rtnl:
|
||||
rtnl_unlock();
|
||||
out_dev:
|
||||
dev_put(dev);
|
||||
return ret;
|
||||
}
|
||||
|
@@ -128,9 +128,10 @@ int ethnl_set_linkinfo(struct sk_buff *skb, struct genl_info *info)
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
dev = req_info.dev;
|
||||
ret = -EOPNOTSUPP;
|
||||
if (!dev->ethtool_ops->get_link_ksettings ||
|
||||
!dev->ethtool_ops->set_link_ksettings)
|
||||
return -EOPNOTSUPP;
|
||||
goto out_dev;
|
||||
|
||||
rtnl_lock();
|
||||
ret = ethnl_ops_begin(dev);
|
||||
@@ -164,6 +165,7 @@ out_ops:
|
||||
ethnl_ops_complete(dev);
|
||||
out_rtnl:
|
||||
rtnl_unlock();
|
||||
out_dev:
|
||||
dev_put(dev);
|
||||
return ret;
|
||||
}
|
||||
|
@@ -341,9 +341,10 @@ int ethnl_set_linkmodes(struct sk_buff *skb, struct genl_info *info)
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
dev = req_info.dev;
|
||||
ret = -EOPNOTSUPP;
|
||||
if (!dev->ethtool_ops->get_link_ksettings ||
|
||||
!dev->ethtool_ops->set_link_ksettings)
|
||||
return -EOPNOTSUPP;
|
||||
goto out_dev;
|
||||
|
||||
rtnl_lock();
|
||||
ret = ethnl_ops_begin(dev);
|
||||
@@ -373,6 +374,7 @@ out_ops:
|
||||
ethnl_ops_complete(dev);
|
||||
out_rtnl:
|
||||
rtnl_unlock();
|
||||
out_dev:
|
||||
dev_put(dev);
|
||||
return ret;
|
||||
}
|
||||
|
@@ -40,6 +40,7 @@ int ethnl_parse_header_dev_get(struct ethnl_req_info *req_info,
|
||||
struct nlattr *tb[ETHTOOL_A_HEADER_MAX + 1];
|
||||
const struct nlattr *devname_attr;
|
||||
struct net_device *dev = NULL;
|
||||
u32 flags = 0;
|
||||
int ret;
|
||||
|
||||
if (!header) {
|
||||
@@ -50,8 +51,17 @@ int ethnl_parse_header_dev_get(struct ethnl_req_info *req_info,
|
||||
ethnl_header_policy, extack);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
devname_attr = tb[ETHTOOL_A_HEADER_DEV_NAME];
|
||||
if (tb[ETHTOOL_A_HEADER_FLAGS]) {
|
||||
flags = nla_get_u32(tb[ETHTOOL_A_HEADER_FLAGS]);
|
||||
if (flags & ~ETHTOOL_FLAG_ALL) {
|
||||
NL_SET_ERR_MSG_ATTR(extack, tb[ETHTOOL_A_HEADER_FLAGS],
|
||||
"unrecognized request flags");
|
||||
nl_set_extack_cookie_u32(extack, ETHTOOL_FLAG_ALL);
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
}
|
||||
|
||||
devname_attr = tb[ETHTOOL_A_HEADER_DEV_NAME];
|
||||
if (tb[ETHTOOL_A_HEADER_DEV_INDEX]) {
|
||||
u32 ifindex = nla_get_u32(tb[ETHTOOL_A_HEADER_DEV_INDEX]);
|
||||
|
||||
@@ -90,9 +100,7 @@ int ethnl_parse_header_dev_get(struct ethnl_req_info *req_info,
|
||||
}
|
||||
|
||||
req_info->dev = dev;
|
||||
if (tb[ETHTOOL_A_HEADER_FLAGS])
|
||||
req_info->flags = nla_get_u32(tb[ETHTOOL_A_HEADER_FLAGS]);
|
||||
|
||||
req_info->flags = flags;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@@ -129,8 +129,9 @@ int ethnl_set_wol(struct sk_buff *skb, struct genl_info *info)
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
dev = req_info.dev;
|
||||
ret = -EOPNOTSUPP;
|
||||
if (!dev->ethtool_ops->get_wol || !dev->ethtool_ops->set_wol)
|
||||
return -EOPNOTSUPP;
|
||||
goto out_dev;
|
||||
|
||||
rtnl_lock();
|
||||
ret = ethnl_ops_begin(dev);
|
||||
@@ -173,6 +174,7 @@ out_ops:
|
||||
ethnl_ops_complete(dev);
|
||||
out_rtnl:
|
||||
rtnl_unlock();
|
||||
out_dev:
|
||||
dev_put(dev);
|
||||
return ret;
|
||||
}
|
||||
|
Reference in New Issue
Block a user