[U-Boot] [PATCH 10/18] dm: eth: Avoid blocking on packet reception

Joe Hershberger joe.hershberger at gmail.com
Fri Aug 7 22:30:48 CEST 2015


Hi Simon,

On Mon, Jul 6, 2015 at 5:47 PM, Simon Glass <sjg at chromium.org> wrote:
> Some devices can take a long time to work out whether they have a new packet
> or now. For example the ASIX USB Ethernet dongle can take 5 seconds to do
> this, since it waits until it gets a new packet on the wire before allowing
> the USB bulk read packet to be submitted.
>
> At present with driver mode the Ethernet receive code reads 32 packets. This
> can take a very long time if we must wait for all 32 packets. The old code
> (before driver model) worked by reading a single set of packets from the USB
> device, then processing all the packets with in. It would be nice to use
> the same behaviour with driver model.
>
> Add a flag to the receive method which indicates that the driver should try
> to find a packet if available, by consulting the hardware. When the flag is
> not set, it should just return any packet data it has already received. If
> there is none, it should return -EAGAIN so that the loop will terminate.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---

Acked-by: Joe Hershberger <joe.hershberger at ni.com>


More information about the U-Boot mailing list