]> git.hungrycats.org Git - linux/commitdiff
r8152: fix r8152_csum_workaround function
authorhayeswang <hayeswang@realtek.com>
Fri, 11 Jul 2014 08:48:27 +0000 (16:48 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 28 Jul 2014 15:08:25 +0000 (08:08 -0700)
[ Upstream commit a91d45f1a343188793d6f2bdf1a72c64015a8255 ]

The transport offset of the IPv4 packet should be fixed and wouldn't
be out of the hw limitation, so the r8152_csum_workaround() should
be used for IPv6 packets.

Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/usb/r8152.c

index 3fbfb0869030aeeb6c540766bdbf924d959abcd6..d2c007098a3be6080f07fef42b51d3ada96ba8ab 100644 (file)
@@ -1361,7 +1361,7 @@ static void r8152_csum_workaround(struct r8152 *tp, struct sk_buff *skb,
                struct sk_buff_head seg_list;
                struct sk_buff *segs, *nskb;
 
-               features &= ~(NETIF_F_IP_CSUM | NETIF_F_SG | NETIF_F_TSO);
+               features &= ~(NETIF_F_SG | NETIF_F_IPV6_CSUM | NETIF_F_TSO6);
                segs = skb_gso_segment(skb, features);
                if (IS_ERR(segs) || !segs)
                        goto drop;