]> git.dujemihanovic.xyz Git - linux.git/commitdiff
net: xilinx: axienet: Relax partial rx checksum checks
authorSean Anderson <sean.anderson@linux.dev>
Mon, 9 Sep 2024 16:10:16 +0000 (12:10 -0400)
committerJakub Kicinski <kuba@kernel.org>
Wed, 11 Sep 2024 01:34:51 +0000 (18:34 -0700)
The partial rx checksum feature computes a checksum over the entire
packet, regardless of the L3 protocol. Remove the check for IPv4.
Additionally, testing with csum.py (from kselftests) shows no anomalies
with 64-byte packets, so we can remove that check as well.

Signed-off-by: Sean Anderson <sean.anderson@linux.dev>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20240909161016.1149119-5-sean.anderson@linux.dev
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/xilinx/xilinx_axienet_main.c

index 86f17c44ae90372c29e504e1afe96e7ae7ee14b9..ea7d7c03f48e54f9c026943374887602c32c2d4c 100644 (file)
@@ -1188,9 +1188,7 @@ static int axienet_rx_poll(struct napi_struct *napi, int budget)
                                    csumstatus == XAE_IP_UDP_CSUM_VALIDATED) {
                                        skb->ip_summed = CHECKSUM_UNNECESSARY;
                                }
-                       } else if ((lp->features & XAE_FEATURE_PARTIAL_RX_CSUM) != 0 &&
-                                  skb->protocol == htons(ETH_P_IP) &&
-                                  skb->len > 64) {
+                       } else if (lp->features & XAE_FEATURE_PARTIAL_RX_CSUM) {
                                skb->csum = be32_to_cpu(cur_p->app3 & 0xFFFF);
                                skb->ip_summed = CHECKSUM_COMPLETE;
                        }