Hi Stephen, On 27 February 2014 13:27, Stephen Warren <swar...@wwwdotorg.org> wrote:
> From: Stephen Warren <swar...@nvidia.com> > > For Ethernet/USB RX packets, the ASIX HW pads odd-sized packets so that > they have an even size. Currently, asix_recv() does remove this padding, > and asic_send() adds equivalent padding in the TX path. However, the HW > does not appear to need this packing for TX packets in practical testing > with "ASIX Elec. Corp. AX88x72A 000001" Vendor: 0x0b95 Product 0x7720 > Version 0.1. The Linux kernel does no such padding for the TX path. > > Remove the padding from the TX path: > > * For consistency with the Linux kernel. > * NVIDIA has a Tegra simulator which validates that the length of USB > packets sent to an ASIX device matches the packet length value inside > the packet data. Having U-Boot and the kernel do the same thing when > creating the TX packets simplifies the simulator's validation. > > Cc: Lucas Stach <d...@lynxeye.de> > Cc: Marek Vasut <ma...@denx.de> > Cc: Simon Glass <s...@chromium.org> > Signed-off-by: Stephen Warren <swar...@nvidia.com> > My notes indicate I added this due to a problem I had at the time with bootp. However, since you have tested it, perhaps the root cause was somewhere else. Acked-by: Simon Glass <s...@chromium.org> > --- > drivers/usb/eth/asix.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/usb/eth/asix.c b/drivers/usb/eth/asix.c > index 659533a8d4e4..ce133f00698d 100644 > --- a/drivers/usb/eth/asix.c > +++ b/drivers/usb/eth/asix.c > @@ -468,8 +468,6 @@ static int asix_send(struct eth_device *eth, void > *packet, int length) > > memcpy(msg, &packet_len, sizeof(packet_len)); > memcpy(msg + sizeof(packet_len), (void *)packet, length); > - if (length & 1) > - length++; > > err = usb_bulk_msg(dev->pusb_dev, > usb_sndbulkpipe(dev->pusb_dev, > dev->ep_out), > -- > 1.8.1.5 > >
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot