[PATCH] skge: bad checksums on big-endian platforms
authorStephen Hemminger <shemminger@osdl.org>
Mon, 15 May 2006 23:30:25 +0000 (16:30 -0700)
committerJeff Garzik <jeff@garzik.org>
Sat, 20 May 2006 04:17:07 +0000 (00:17 -0400)
Skge driver always causes  bad checksums on big-endian.
The checksum in the receive control block was being swapped
when it doesn't need to be.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/skge.c

index 63a6b3d..0dd4247 100644 (file)
@@ -2716,8 +2716,7 @@ static int skge_poll(struct net_device *dev, int *budget)
                if (control & BMU_OWN)
                        break;
 
-               skb = skge_rx_get(skge, e, control, rd->status,
-                                 le16_to_cpu(rd->csum2));
+               skb = skge_rx_get(skge, e, control, rd->status, rd->csum2);
                if (likely(skb)) {
                        dev->last_rx = jiffies;
                        netif_receive_skb(skb);