aboutsummaryrefslogtreecommitdiffstats
path: root/net/ethtool
diff options
context:
space:
mode:
Diffstat (limited to 'net/ethtool')
-rw-r--r--net/ethtool/netlink.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/net/ethtool/netlink.c b/net/ethtool/netlink.c
index ac720d684789..e628d17f595c 100644
--- a/net/ethtool/netlink.c
+++ b/net/ethtool/netlink.c
@@ -31,7 +31,13 @@ const struct nla_policy ethnl_header_policy_stats[] = {
int ethnl_ops_begin(struct net_device *dev)
{
- if (dev && dev->ethtool_ops->begin)
+ if (!dev)
+ return 0;
+
+ if (!netif_device_present(dev))
+ return -ENODEV;
+
+ if (dev->ethtool_ops->begin)
return dev->ethtool_ops->begin(dev);
else
return 0;
@@ -115,12 +121,6 @@ int ethnl_parse_header_dev_get(struct ethnl_req_info *req_info,
return -EINVAL;
}
- if (dev && !netif_device_present(dev)) {
- dev_put(dev);
- NL_SET_ERR_MSG(extack, "device not present");
- return -ENODEV;
- }
-
req_info->dev = dev;
req_info->flags = flags;
return 0;