[U-Boot] [PATCH] net: macb: Add small delay after link establishment

Eugen.Hristev at microchip.com Eugen.Hristev at microchip.com
Fri Mar 29 14:59:43 UTC 2019



On 29.03.2019 16:52, Stefan Roese wrote:

> Hi Eugen,
> 
> On 29.03.19 15:40, Eugen.Hristev at microchip.com wrote:
>>> I've noticed that the first ethernet packet after PHY link establishment
>>> is not tranferred correctly most of the time on my AT91SAM9G25 board.
>>> Here I usually see a timeout of a few seconds, which is quite
>>> annoying.
>>>
>>> Adding a small delay (10ms in this case) after the link establishment
>>> helps to solve this problem. With this patch applied, this timeout
>>> on the first packet is not seen any more.
>>
>> Hi Stefan,
>>
>> I find this a bit odd... maybe someone with a different board having
>> this Ethernet controller can confirm or infirm this ?
> 
> I've seen such issues of timeouts with the first ethernet packet
> after link negotiation on other platforms / controllers a few
> times before in U-Boot. Using a short delay after link-up always
> did help here.
> 
> I'm not saying that this is the perfect solution, but its one that
> works and removes these timeouts, which really annoy me.
> 
>> Linux driver for macb has a similar issue ?
> 
> Not that I am aware of. There might be some delay in the link
> establishment hidden as well. I did not check yet.
> 
>> Adding a delay just for the sake of it might hide another issue that we
>> are missing at this point: why exactly transfer fails right away... it
>> is likely that we want to send packets but link in fact is not ready ?
> 
> Yes, something like this.

I see there is a small udelay below your code, you add a delay 100 times 
bigger... maybe that small delay is related ?

> 
>> Or any reason why the packet is not correctly transferred? Do you see
>> errors on the line or the packet vanishes completely ?
>> What kind of packet is this first one ? Does it depend on the packet 
>> type ?
> 
> I did not check too closely, as this issue was so similar to the
> ones I've seen before in U-Boot (see above). It happens upon
> "ping" and "tftp" - that's what I did test with.
> 
>> Sorry for maybe asking too many questions.
> 
> No need to be sorry. If this can be solved in another perhaps
> cleaner way, I'll gladly use another solution.
> 
>> I have added Nicolas and Claudiu who have more experience with macb on
>> at91 boards
> 
> Sure, let's see what others have to say on this. Did someone else
> notice these timeouts resulting in quite big delays?
> 
> Thanks,
> Stefan


More information about the U-Boot mailing list