From dhollis@davehollis.com Mon Feb 5 09:04:49 2007 From: David Hollis Date: Mon, 05 Feb 2007 12:03:03 -0500 Subject: USB: asix - Fix endian issues in asix_tx_fixup() To: Greg KH Cc: linux-usb-devel@lists.sourceforge.net Message-ID: <1170694983.3805.5.camel@dhollis-lnx.sunera.com> 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: David Hollis Signed-off-by: Greg Kroah-Hartman --- drivers/usb/net/asix.c | 2 ++ 1 file changed, 2 insertions(+) --- gregkh-2.6.orig/drivers/usb/net/asix.c +++ gregkh-2.6/drivers/usb/net/asix.c @@ -351,9 +351,11 @@ static struct sk_buff *asix_tx_fixup(str skb_push(skb, 4); packet_len = (((skb->len - 4) ^ 0x0000ffff) << 16) + (skb->len - 4); + cpu_to_le32s(&packet_len); memcpy(skb->data, &packet_len, sizeof(packet_len)); if ((skb->len % 512) == 0) { + cpu_to_le32s(&padbytes); memcpy( skb->tail, &padbytes, sizeof(padbytes)); skb_put(skb, sizeof(padbytes)); }