Messages in this thread |  | | From | Vivien Didelot <> | Subject | Re: [PATCH net-next RFC 5/9] net: dsa: forward hardware timestamping ioctls to switch driver | Date | Thu, 28 Sep 2017 15:31:44 -0400 |
| |
Hi Brandon,
Brandon Streiff <brandon.streiff@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
|  |