Hi Brandon,

Brandon Streiff <brandon.stre...@ni.com> writes:

>  static int dsa_slave_ioctl(struct net_device *dev, struct ifreq *ifr, int 
> cmd)
>  {
> +     struct dsa_slave_priv *p = netdev_priv(dev);
> +     struct dsa_switch *ds = p->dp->ds;
> +     int port = p->dp->index;
> +
>       if (!dev->phydev)
>               return -ENODEV;

Move this check below:

>  
> -     return phy_mii_ioctl(dev->phydev, ifr, cmd);
> +     switch (cmd) {
> +     case SIOCGMIIPHY:
> +     case SIOCGMIIREG:
> +     case SIOCSMIIREG:
> +             if (dev->phydev)
> +                     return phy_mii_ioctl(dev->phydev, ifr, cmd);
> +             else
> +                     return -EOPNOTSUPP;

                if (!dev->phydev)
                        return -ENODEV;

                return phy_mii_ioctl(dev->phydev, ifr, cmd);

> +     case SIOCGHWTSTAMP:
> +             if (ds->ops->port_hwtstamp_get)
> +                     return ds->ops->port_hwtstamp_get(ds, port, ifr);
> +             else
> +                     return -EOPNOTSUPP;

Here you can replace the else statement with break;

> +     case SIOCSHWTSTAMP:
> +             if (ds->ops->port_hwtstamp_set)
> +                     return ds->ops->port_hwtstamp_set(ds, port, ifr);
> +             else
> +                     return -EOPNOTSUPP;

Same here;

> +     default:
> +             return -EOPNOTSUPP;
> +     }

Then drop the default case and return -EOPNOTSUPP after the switch.

>  }


Thanks,

        Vivien

Reply via email to