Commit 57e4f041 authored by David Hollis's avatar David Hollis Committed by Greg Kroah-Hartman

USB: asix - Fix endian issues in asix_tx_fixup()

The attached patch fixes endian issues in asix_tx_fixup() that prevented
AX88772 and AX88178 devices from working on big-endian systems.  With
the attached patch, all three chips are reported to work on big endian.
Signed-off-by: default avatarDavid Hollis <dhollis@davehollis.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent db90e7a1
...@@ -351,9 +351,11 @@ static struct sk_buff *asix_tx_fixup(struct usbnet *dev, struct sk_buff *skb, ...@@ -351,9 +351,11 @@ static struct sk_buff *asix_tx_fixup(struct usbnet *dev, struct sk_buff *skb,
skb_push(skb, 4); skb_push(skb, 4);
packet_len = (((skb->len - 4) ^ 0x0000ffff) << 16) + (skb->len - 4); packet_len = (((skb->len - 4) ^ 0x0000ffff) << 16) + (skb->len - 4);
cpu_to_le32s(&packet_len);
memcpy(skb->data, &packet_len, sizeof(packet_len)); memcpy(skb->data, &packet_len, sizeof(packet_len));
if ((skb->len % 512) == 0) { if ((skb->len % 512) == 0) {
cpu_to_le32s(&padbytes);
memcpy( skb->tail, &padbytes, sizeof(padbytes)); memcpy( skb->tail, &padbytes, sizeof(padbytes));
skb_put(skb, sizeof(padbytes)); skb_put(skb, sizeof(padbytes));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment