summaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2.c
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2011-01-24 13:59:02 +0100
committerDavid S. Miller <davem@davemloft.net>2011-01-25 08:16:07 +0100
commit7c8104774e59549c37dd1cb0a8ec4f131094664c (patch)
tree708156ac49a644a93d2a2d76dfa067ffdef1751d /drivers/net/bnx2.c
parentnet: clear heap allocation for ethtool_get_regs() (diff)
downloadlinux-7c8104774e59549c37dd1cb0a8ec4f131094664c.tar.xz
linux-7c8104774e59549c37dd1cb0a8ec4f131094664c.zip
bnx2: Always set ETH_FLAG_TXVLAN
TSO does not work if the VLAN tag is in the packet (non-accelerated). We may be able to remove this restriction in future firmware. Reported-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2.c')
-rw-r--r--drivers/net/bnx2.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index df99edf3464a..99e7652e2169 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -7553,6 +7553,10 @@ bnx2_set_flags(struct net_device *dev, u32 data)
!(data & ETH_FLAG_RXVLAN))
return -EINVAL;
+ /* TSO with VLAN tag won't work with current firmware */
+ if (!(data & ETH_FLAG_TXVLAN))
+ return -EINVAL;
+
rc = ethtool_op_set_flags(dev, data, ETH_FLAG_RXHASH | ETH_FLAG_RXVLAN |
ETH_FLAG_TXVLAN);
if (rc)