diff options
Diffstat (limited to 'drivers/net/ehea/ehea_ethtool.c')
| -rw-r--r-- | drivers/net/ehea/ehea_ethtool.c | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/ehea/ehea_ethtool.c b/drivers/net/ehea/ehea_ethtool.c index 1f37ee6b2a2..d6cf502906c 100644 --- a/drivers/net/ehea/ehea_ethtool.c +++ b/drivers/net/ehea/ehea_ethtool.c @@ -263,6 +263,13 @@ static void ehea_get_ethtool_stats(struct net_device *dev,  static int ehea_set_flags(struct net_device *dev, u32 data)  { +	/* Avoid changing the VLAN flags */ +	if ((data & (ETH_FLAG_RXVLAN | ETH_FLAG_TXVLAN)) != +	    (ethtool_op_get_flags(dev) & (ETH_FLAG_RXVLAN | +					  ETH_FLAG_TXVLAN))){ +		return -EINVAL; +	} +  	return ethtool_op_set_flags(dev, data, ETH_FLAG_LRO  					| ETH_FLAG_TXVLAN  					| ETH_FLAG_RXVLAN);  |