From: Alban Bedel <alban.bedel@avionic-design.de>
Date: Wed, 3 Aug 2016 06:14:41 +0000 (+0200)
Subject: eth: asix88179: Fix receiving on big endian system
X-Git-Tag: v2025.01-rc5-pxa1908~8759^2~2
X-Git-Url: http://git.dujemihanovic.xyz/html/static/git-logo.png?a=commitdiff_plain;h=50f5bb25b911fd5a876d17b8f08d432c7eff5cfe;p=u-boot.git

eth: asix88179: Fix receiving on big endian system

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>
---

diff --git a/drivers/usb/eth/asix88179.c b/drivers/usb/eth/asix88179.c
index 9e04c7c5c6..81eae04e34 100644
--- a/drivers/usb/eth/asix88179.c
+++ b/drivers/usb/eth/asix88179.c
@@ -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);