From: Joshua Scott Date: Tue, 6 Sep 2016 04:03:11 +0000 (+1200) Subject: net: asix: Fix AX88772B when used with DriverModel X-Git-Tag: v2016.09~3^2 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=41d1258aceb45b45f9e68f67a9c40f0afbc09dc9;p=u-boot net: asix: Fix AX88772B when used with DriverModel A previous patch (net: asix: fix operation without eeprom) added a two-byte shift to the packet buffer when receiving a packet on the AX88772B. This shift was not included when the driver was updated to work with DriverModel. Testing on a Marvell DB-88F6820-ACM showed that the adapter was not functioning correctly (EHCI timeouts). This patch brings the two-byte shift to the DriverModel implementation of ops->recv (asix_eth_recv). Testing on the same board, we were able to TFTP a file over and confirm that the crc32 was correct. Signed-off-by: Joshua Scott Acked-by: Joe Hershberger --- diff --git a/drivers/usb/eth/asix.c b/drivers/usb/eth/asix.c index ad083cf8ae..a610ae447b 100644 --- a/drivers/usb/eth/asix.c +++ b/drivers/usb/eth/asix.c @@ -819,6 +819,11 @@ int asix_eth_recv(struct udevice *dev, int flags, uchar **packetp) } *packetp = ptr + sizeof(packet_len); + + if ((ueth->pusb_dev->descriptor.idVendor == ASIX_USB_VENDOR_ID) && + (ueth->pusb_dev->descriptor.idProduct == AX88772B_USB_PRODUCT_ID)) + *packetp += 2; + return packet_len; err: