diff --git a/net/ethtool/netlink.h b/net/ethtool/netlink.h index d8efec516d86..979dee6bb88c 100644 --- a/net/ethtool/netlink.h +++ b/net/ethtool/netlink.h @@ -249,6 +249,9 @@ struct ethnl_reply_data { static inline int ethnl_ops_begin(struct net_device *dev) { + if (dev && dev->reg_state == NETREG_UNREGISTERING) + return -ENODEV; + if (dev && dev->ethtool_ops->begin) return dev->ethtool_ops->begin(dev); else