aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2011-04-12 10:47:15 -0400
committerDavid S. Miller <davem@davemloft.net>2011-04-12 22:29:45 -0400
commit31d8b9e099e59f880aa65095951559896d4e20fa (patch)
treee6bd8f1efe81265603bf982e135522c54ed81377
parentea2d36883ca8e6caab23b6d15bfa80b1d1d81d2f (diff)
net: Disable NETIF_F_TSO_ECN when TSO is disabled
NETIF_F_TSO_ECN has no effect when TSO is disabled; this just means that feature state will be accurately reported to user-space. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/core/dev.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 6401fb588145..c2ac599fa0f6 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -5208,6 +5208,10 @@ u32 netdev_fix_features(struct net_device *dev, u32 features)
5208 features &= ~NETIF_F_ALL_TSO; 5208 features &= ~NETIF_F_ALL_TSO;
5209 } 5209 }
5210 5210
5211 /* TSO ECN requires that TSO is present as well. */
5212 if ((features & NETIF_F_ALL_TSO) == NETIF_F_TSO_ECN)
5213 features &= ~NETIF_F_TSO_ECN;
5214
5211 /* Software GSO depends on SG. */ 5215 /* Software GSO depends on SG. */
5212 if ((features & NETIF_F_GSO) && !(features & NETIF_F_SG)) { 5216 if ((features & NETIF_F_GSO) && !(features & NETIF_F_SG)) {
5213 netdev_info(dev, "Dropping NETIF_F_GSO since no SG feature.\n"); 5217 netdev_info(dev, "Dropping NETIF_F_GSO since no SG feature.\n");