From: Eric Dumazet <[email protected]>
Date: Tue, 19 Jun 2018 19:18:50 -0700
> After commit 88078d98d1bb ("net: pskb_trim_rcsum() and CHECKSUM_COMPLETE
> are friends"), sungem owners reported the infamous "eth0: hw csum failure"
> message.
>
> CHECKSUM_COMPLETE has in fact never worked for this driver, but this
> was masked by the fact that upper stacks had to strip the FCS, and
> therefore skb->ip_summed was set back to CHECKSUM_NONE before
> my recent change.
>
> Driver configures a number of bytes to skip when the chip computes
> the checksum, and for some reason only half of the Ethernet header
> was skipped.
>
> Then a second problem is that we should strip the FCS by default,
> unless the driver is updated to eventually support NETIF_F_RXFCS in
> the future.
>
> Finally, a driver should check if NETIF_F_RXCSUM feature is enabled
> or not, so that the admin can turn off rx checksum if wanted.
>
> Many thanks to Andreas Schwab and Mathieu Malaterre for their
> help in debugging this issue.
>
> Signed-off-by: Eric Dumazet <[email protected]>
> Reported-by: Meelis Roos <[email protected]>
> Reported-by: Mathieu Malaterre <[email protected]>
> Reported-by: Andreas Schwab <[email protected]>
> Tested-by: Andreas Schwab <[email protected]>
Applied and queued up for -stable, thanks Eric.