From: Stephen Hemminger Date: Fri, 20 Sep 2019 16:18:26 +0000 (+0200) Subject: skge: fix checksum byte order X-Git-Tag: v5.4-rc1~14^2~56 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5aafeb74b5bb65b34cc87c7623f9fa163a34fa3b;p=thirdparty%2Fkernel%2Flinux.git skge: fix checksum byte order Running old skge driver on PowerPC causes checksum errors because hardware reported 1's complement checksum is in little-endian byte order. Reported-by: Benoit Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/marvell/skge.c b/drivers/net/ethernet/marvell/skge.c index 0a2ec387a482f..095f6c71b4fa1 100644 --- a/drivers/net/ethernet/marvell/skge.c +++ b/drivers/net/ethernet/marvell/skge.c @@ -3108,7 +3108,7 @@ static struct sk_buff *skge_rx_get(struct net_device *dev, skb_put(skb, len); if (dev->features & NETIF_F_RXCSUM) { - skb->csum = csum; + skb->csum = le16_to_cpu(csum); skb->ip_summed = CHECKSUM_COMPLETE; }