Sascha Hauer <s.ha...@pengutronix.de> writes:

> So 129 bytes are sent from barebox, right? Which network driver driver
> is involved on the barebox side here? How did you force sending excatly
> 129 bytes?

drivers/net/bcmgenet.c;  I made a

diff --git a/drivers/net/bcmgenet.c b/drivers/net/bcmgenet.c
index 9e0bacb31adf..988324cd22d4 100644
--- a/drivers/net/bcmgenet.c
+++ b/drivers/net/bcmgenet.c
@@ -272,6 +272,10 @@ static int bcmgenet_gmac_eth_send(struct eth_device *edev, 
void *packet, int len
        u32 tries = 100;
        dma_addr_t dma;
 
+       if (length == 129)
+               print_hex_dump(KERN_INFO, "D ", DUMP_PREFIX_OFFSET,
+                              16, 4, packet + 125, 4, 1);
+
        prod_index = readl(priv->mac_reg + TDMA_PROD_INDEX);
 
        dma = dma_map_single(priv->dev, packet, length, DMA_TO_DEVICE);


there to verify the input data and checked with tcpdump on the other end
(which differed in around 70% of the cases in the last byte).

Packets with arbitrary length can be constructed easily by custom tftp
filenames.



Enrico

Reply via email to