mirror of https://gitee.com/openkylin/linux.git
igb: stub support for SIOCSHWTSTAMP
Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
38c845c764
commit
c6cb090ba7
|
@ -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>
|
||||
|
@ -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:
|
||||
|
@ -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…
Reference in New Issue