diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2011-04-12 14:47:15 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-04-12 19:29:45 -0700 |
commit | 31d8b9e099e59f880aa65095951559896d4e20fa (patch) | |
tree | e6bd8f1efe81265603bf982e135522c54ed81377 /net/core | |
parent | ea2d36883ca8e6caab23b6d15bfa80b1d1d81d2f (diff) | |
download | blackbird-op-linux-31d8b9e099e59f880aa65095951559896d4e20fa.tar.gz blackbird-op-linux-31d8b9e099e59f880aa65095951559896d4e20fa.zip |
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>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 4 |
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) features &= ~NETIF_F_ALL_TSO; } + /* TSO ECN requires that TSO is present as well. */ + if ((features & NETIF_F_ALL_TSO) == NETIF_F_TSO_ECN) + features &= ~NETIF_F_TSO_ECN; + /* Software GSO depends on SG. */ if ((features & NETIF_F_GSO) && !(features & NETIF_F_SG)) { netdev_info(dev, "Dropping NETIF_F_GSO since no SG feature.\n"); |