net: Wrap ndo_do_ioctl() to prepare for DSA stacked ops
authorFlorian Fainelli <f.fainelli@gmail.com>
Mon, 20 Jul 2020 03:49:51 +0000 (20:49 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 20 Jul 2020 23:48:22 +0000 (16:48 -0700)
In preparation for adding another layer of call into a DSA stacked ops
singleton, wrap the ndo_do_ioctl() call into dev_do_ioctl().

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev_ioctl.c

index 547b587..a213c70 100644 (file)
@@ -225,6 +225,22 @@ static int net_hwtstamp_validate(struct ifreq *ifr)
        return 0;
 }
 
+static int dev_do_ioctl(struct net_device *dev,
+                       struct ifreq *ifr, unsigned int cmd)
+{
+       const struct net_device_ops *ops = dev->netdev_ops;
+       int err = -EOPNOTSUPP;
+
+       if (ops->ndo_do_ioctl) {
+               if (netif_device_present(dev))
+                       err = ops->ndo_do_ioctl(dev, ifr, cmd);
+               else
+                       err = -ENODEV;
+       }
+
+       return err;
+}
+
 /*
  *     Perform the SIOCxIFxxx calls, inside rtnl_lock()
  */
@@ -323,13 +339,7 @@ static int dev_ifsioc(struct net *net, struct ifreq *ifr, unsigned int cmd)
                    cmd == SIOCSHWTSTAMP ||
                    cmd == SIOCGHWTSTAMP ||
                    cmd == SIOCWANDEV) {
-                       err = -EOPNOTSUPP;
-                       if (ops->ndo_do_ioctl) {
-                               if (netif_device_present(dev))
-                                       err = ops->ndo_do_ioctl(dev, ifr, cmd);
-                               else
-                                       err = -ENODEV;
-                       }
+                       err = dev_do_ioctl(dev, ifr, cmd);
                } else
                        err = -EINVAL;