smsc9420: fix big endian rx checksum offload
authorSteve Glendinning <steve.glendinning@smsc.com>
Fri, 20 Mar 2009 08:14:53 +0000 (01:14 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Mar 2009 08:14:53 +0000 (01:14 -0700)
The cpu_to_le16 here looks suspicious to me, I don't think we need it
because put_unaligned_le16 also does this.

I don't currently have any big endian hardware with a PCI bus available
to test on, so I haven't been able to verify this.

Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/smsc9420.c

index 17560dbcc7ad7102a9fbacdd7d2af0a4ca7417f4..5959ae86e57dd6575f44c94baab0b02c693fa7c4 100644 (file)
@@ -807,7 +807,7 @@ static void smsc9420_rx_handoff(struct smsc9420_pdata *pd, const int index,
        if (pd->rx_csum) {
                u16 hw_csum = get_unaligned_le16(skb_tail_pointer(skb) +
                        NET_IP_ALIGN + packet_length + 4);
-               put_unaligned_le16(cpu_to_le16(hw_csum), &skb->csum);
+               put_unaligned_le16(hw_csum, &skb->csum);
                skb->ip_summed = CHECKSUM_COMPLETE;
        }