Merge tag 'imx-fixes-5.15-4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawngu...
[platform/kernel/linux-rpi.git] / net / dsa / master.c
index 63adbc2..e8e1985 100644 (file)
@@ -210,14 +210,14 @@ static int dsa_master_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
                break;
        }
 
-       if (dev->netdev_ops->ndo_do_ioctl)
-               err = dev->netdev_ops->ndo_do_ioctl(dev, ifr, cmd);
+       if (dev->netdev_ops->ndo_eth_ioctl)
+               err = dev->netdev_ops->ndo_eth_ioctl(dev, ifr, cmd);
 
        return err;
 }
 
 static const struct dsa_netdevice_ops dsa_netdev_ops = {
-       .ndo_do_ioctl = dsa_master_ioctl,
+       .ndo_eth_ioctl = dsa_master_ioctl,
 };
 
 static int dsa_master_ethtool_setup(struct net_device *dev)
@@ -346,10 +346,12 @@ static struct lock_class_key dsa_master_addr_list_lock_key;
 
 int dsa_master_setup(struct net_device *dev, struct dsa_port *cpu_dp)
 {
-       int mtu = ETH_DATA_LEN + cpu_dp->tag_ops->overhead;
+       const struct dsa_device_ops *tag_ops = cpu_dp->tag_ops;
        struct dsa_switch *ds = cpu_dp->ds;
        struct device_link *consumer_link;
-       int ret;
+       int mtu, ret;
+
+       mtu = ETH_DATA_LEN + dsa_tag_protocol_overhead(tag_ops);
 
        /* The DSA master must use SET_NETDEV_DEV for this to work. */
        consumer_link = device_link_add(ds->dev, dev->dev.parent,