net: qualcomm: rmnet: rearrange some NOTs
authorAlex Elder <elder@linaro.org>
Sat, 12 Jun 2021 14:37:30 +0000 (09:37 -0500)
committerDavid S. Miller <davem@davemloft.net>
Sat, 12 Jun 2021 20:18:48 +0000 (13:18 -0700)
With the ones' complement arithmetic, the sum of two negated values
is equal to the negation of the sum of the two original values [1].
Rearrange the calculation ip6_payload_sum using this property.

[1] https://tools.ietf.org/html/rfc1071

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c

index 3e6feef..1b170e9 100644 (file)
@@ -140,8 +140,8 @@ rmnet_map_ipv6_dl_csum_trailer(struct sk_buff *skb,
         * checksum computed over the pseudo header.
         */
        ip_header_csum = (__force __be16)ip_fast_csum(ip6h, sizeof(*ip6h) / 4);
-       ip6_payload_csum = csum16_sub((__force __sum16)~csum_trailer->csum_value,
-                                     ~ip_header_csum);
+       ip6_payload_csum = ~csum16_sub((__force __sum16)csum_trailer->csum_value,
+                                      ip_header_csum);
 
        length = (ip6h->nexthdr == IPPROTO_UDP) ?
                 ntohs(((struct udphdr *)txporthdr)->len) :