Loading drivers/net/igb/igb_main.c +31 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ #include <linux/ipv6.h> #include <net/checksum.h> #include <net/ip6_checksum.h> #include <linux/net_tstamp.h> #include <linux/mii.h> #include <linux/ethtool.h> #include <linux/if_vlan.h> Loading Loading @@ -4181,6 +4182,34 @@ static int igb_mii_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) return 0; } /** * igb_hwtstamp_ioctl - control hardware time stamping * @netdev: * @ifreq: * @cmd: * * Currently cannot enable any kind of hardware time stamping, but * supports SIOCSHWTSTAMP in general. **/ static int igb_hwtstamp_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) { struct hwtstamp_config config; if (copy_from_user(&config, ifr->ifr_data, sizeof(config))) return -EFAULT; /* reserved for future extensions */ if (config.flags) return -EINVAL; if (config.tx_type == HWTSTAMP_TX_OFF && config.rx_filter == HWTSTAMP_FILTER_NONE) return 0; return -ERANGE; } /** * igb_ioctl - * @netdev: Loading @@ -4194,6 +4223,8 @@ static int igb_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) case SIOCGMIIREG: case SIOCSMIIREG: return igb_mii_ioctl(netdev, ifr, cmd); case SIOCSHWTSTAMP: return igb_hwtstamp_ioctl(netdev, ifr, cmd); default: return -EOPNOTSUPP; } Loading Loading
drivers/net/igb/igb_main.c +31 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ #include <linux/ipv6.h> #include <net/checksum.h> #include <net/ip6_checksum.h> #include <linux/net_tstamp.h> #include <linux/mii.h> #include <linux/ethtool.h> #include <linux/if_vlan.h> Loading Loading @@ -4181,6 +4182,34 @@ static int igb_mii_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) return 0; } /** * igb_hwtstamp_ioctl - control hardware time stamping * @netdev: * @ifreq: * @cmd: * * Currently cannot enable any kind of hardware time stamping, but * supports SIOCSHWTSTAMP in general. **/ static int igb_hwtstamp_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) { struct hwtstamp_config config; if (copy_from_user(&config, ifr->ifr_data, sizeof(config))) return -EFAULT; /* reserved for future extensions */ if (config.flags) return -EINVAL; if (config.tx_type == HWTSTAMP_TX_OFF && config.rx_filter == HWTSTAMP_FILTER_NONE) return 0; return -ERANGE; } /** * igb_ioctl - * @netdev: Loading @@ -4194,6 +4223,8 @@ static int igb_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) case SIOCGMIIREG: case SIOCSMIIREG: return igb_mii_ioctl(netdev, ifr, cmd); case SIOCSHWTSTAMP: return igb_hwtstamp_ioctl(netdev, ifr, cmd); default: return -EOPNOTSUPP; } Loading