Commit d402786e authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller
Browse files

net: fix can_checksum_protocol() arguments swap

commit 03634668

 (net offloading: Convert checksums to use
centrally computed features.) mistakenly swapped can_checksum_protocol()
arguments.

This broke IPv6 on bnx2 for instance, on NIC without TCPv6 checksum
offloads.
Reported-by: default avatarHans de Bruin <jmdebruin@xmsnet.nl>
Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
Acked-by: default avatarJesse Gross <jesse@nicira.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b8f3ab42
...@@ -2001,7 +2001,7 @@ static bool can_checksum_protocol(unsigned long features, __be16 protocol) ...@@ -2001,7 +2001,7 @@ static bool can_checksum_protocol(unsigned long features, __be16 protocol)
static int harmonize_features(struct sk_buff *skb, __be16 protocol, int features) static int harmonize_features(struct sk_buff *skb, __be16 protocol, int features)
{ {
if (!can_checksum_protocol(protocol, features)) { if (!can_checksum_protocol(features, protocol)) {
features &= ~NETIF_F_ALL_CSUM; features &= ~NETIF_F_ALL_CSUM;
features &= ~NETIF_F_SG; features &= ~NETIF_F_SG;
} else if (illegal_highdma(skb->dev, skb)) { } else if (illegal_highdma(skb->dev, skb)) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment