From: Stephen Hemminger Date: Fri, 20 Sep 2019 16:18:26 +0000 (+0200) Subject: skge: fix checksum byte order X-Git-Tag: v5.2.19~297 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=afc7190e38474a13bac719e7775845736482d63a;p=users%2Fdwmw2%2Flinux.git skge: fix checksum byte order [ Upstream commit 5aafeb74b5bb65b34cc87c7623f9fa163a34fa3b ] 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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/net/ethernet/marvell/skge.c b/drivers/net/ethernet/marvell/skge.c index 35a92fd2cf394..59bbb5a8401c9 100644 --- a/drivers/net/ethernet/marvell/skge.c +++ b/drivers/net/ethernet/marvell/skge.c @@ -3110,7 +3110,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; }