| .. | .. |
|---|
| 958 | 958 | *tucso = ~csum_tcpudp_magic(ip_hdr(skb)->saddr, |
|---|
| 959 | 959 | ip_hdr(skb)->daddr, 0, |
|---|
| 960 | 960 | ip_hdr(skb)->protocol, 0); |
|---|
| 961 | | - } else if (skb_is_gso_v6(skb)) { |
|---|
| 961 | + } else if (skb_is_gso(skb) && skb_is_gso_v6(skb)) { |
|---|
| 962 | 962 | tucso = dest + ((void *)&(tcp_hdr(skb)->check) - data); |
|---|
| 963 | 963 | *tucso = ~csum_ipv6_magic(&ipv6_hdr(skb)->saddr, |
|---|
| 964 | 964 | &ipv6_hdr(skb)->daddr, 0, |
|---|
| 965 | 965 | IPPROTO_TCP, 0); |
|---|
| 966 | | - return false; |
|---|
| 967 | 966 | } else if (protocol == htons(ETH_P_IPV6)) { |
|---|
| 968 | 967 | tucso = dest + skb_checksum_start_offset(skb) + skb->csum_offset; |
|---|
| 969 | 968 | *tucso = ~csum_ipv6_magic(&ipv6_hdr(skb)->saddr, |
|---|