mirror of
https://github.com/torvalds/linux.git
synced 2024-11-13 23:51:39 +00:00
smsc95xx: fix tx checksum offload for big endian
f7b2927
introduced tx checksum offload support for smsc95xx,
and enabled it by default. This feature doesn't take
endianness into account, so causes most tx to fail on
those platforms.
This patch fixes the problem fully by adding the missing
conversion.
An alternate workaround is to disable TX checksum offload
on those platforms. The cpu impact of this feature is very low.
Signed-off-by: Steve Glendinning <steve.glendinning@shawell.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a7a558fe42
commit
00acda68b5
@ -1344,6 +1344,7 @@ static struct sk_buff *smsc95xx_tx_fixup(struct usbnet *dev,
|
||||
} else {
|
||||
u32 csum_preamble = smsc95xx_calc_csum_preamble(skb);
|
||||
skb_push(skb, 4);
|
||||
cpu_to_le32s(&csum_preamble);
|
||||
memcpy(skb->data, &csum_preamble, 4);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user