eth: asix88179: Fix receiving on big endian system
authorAlban Bedel <alban.bedel@avionic-design.de>
Wed, 3 Aug 2016 06:14:41 +0000 (08:14 +0200)
committerMarek Vasut <marex@denx.de>
Sun, 7 Aug 2016 19:55:43 +0000 (21:55 +0200)
In asix_recv() the call to convert the endianess of the receive header
was applied on the wrong variable. Instead of converting rx_hdr it
converted pkt_hdr which is a pointer, and not yet initialiazed at this
point.

Signed-off-by: Alban Bedel <alban.bedel@avionic-design.de>
drivers/usb/eth/asix88179.c

index 9e04c7c5c658d6611156762b308da146e0a109f7..81eae04e3402bc87f131b1018b598d2adb58aa9a 100644 (file)
@@ -543,7 +543,7 @@ static int asix_recv(struct eth_device *eth)
 
 
        rx_hdr = *(u32 *)(recv_buf + actual_len - 4);
-       le32_to_cpus(&pkt_hdr);
+       le32_to_cpus(&rx_hdr);
 
        pkt_cnt = (u16)rx_hdr;
        hdr_off = (u16)(rx_hdr >> 16);