aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgbe/ixgbe_ethtool.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ixgbe/ixgbe_ethtool.c')
-rw-r--r--drivers/net/ixgbe/ixgbe_ethtool.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/net/ixgbe/ixgbe_ethtool.c b/drivers/net/ixgbe/ixgbe_ethtool.c
index d4ac94324fa0..dbfd62fd40eb 100644
--- a/drivers/net/ixgbe/ixgbe_ethtool.c
+++ b/drivers/net/ixgbe/ixgbe_ethtool.c
@@ -2113,7 +2113,17 @@ static int ixgbe_set_flags(struct net_device *netdev, u32 data)
2113 bool need_reset = false; 2113 bool need_reset = false;
2114 int rc; 2114 int rc;
2115 2115
2116 rc = ethtool_op_set_flags(netdev, data, ETH_FLAG_LRO | ETH_FLAG_NTUPLE); 2116#ifdef CONFIG_IXGBE_DCB
2117 if ((adapter->flags & IXGBE_FLAG_DCB_ENABLED) &&
2118 !(data & ETH_FLAG_RXVLAN))
2119 return -EINVAL;
2120#endif
2121
2122 need_reset = (data & ETH_FLAG_RXVLAN) !=
2123 (netdev->features & NETIF_F_HW_VLAN_RX);
2124
2125 rc = ethtool_op_set_flags(netdev, data, ETH_FLAG_LRO |
2126 ETH_FLAG_RXVLAN | ETH_FLAG_TXVLAN);
2117 if (rc) 2127 if (rc)
2118 return rc; 2128 return rc;
2119 2129