summaryrefslogtreecommitdiffstats
path: root/drivers/pci/access.c
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2018-06-19 19:18:50 -0700
committerDavid S. Miller <davem@davemloft.net>2018-06-20 14:30:06 +0900
commit12b03558cef6d655d0d394f5e98a6fd07c1f6c0f (patch)
treef576cdaa802418e9eee3625d613ffd8a4d0f1609 /drivers/pci/access.c
parent8b26a06ad4f2a12425f1f63a0ee57f42961dfd1e (diff)
downloadlinux-12b03558cef6d655d0d394f5e98a6fd07c1f6c0f.tar.bz2
net: sungem: fix rx checksum support
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 <edumazet@google.com> Reported-by: Meelis Roos <mroos@linux.ee> Reported-by: Mathieu Malaterre <malat@debian.org> Reported-by: Andreas Schwab <schwab@linux-m68k.org> Tested-by: Andreas Schwab <schwab@linux-m68k.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/pci/access.c')
0 files changed, 0 insertions, 0 deletions