mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <sha@pengutronix.de>
To: Andrej Picej <andrej.picej@norik.com>
Cc: Barebox List <barebox@lists.infradead.org>
Subject: Re: Ethernet reinit on phyCORE hangs the device
Date: Tue, 14 Jun 2022 10:27:11 +0200	[thread overview]
Message-ID: <20220614082711.GQ1615@pengutronix.de> (raw)
In-Reply-To: <c51b2c94-61b7-df44-5d4c-025d18c4b24f@norik.com>

On Tue, Jun 14, 2022 at 09:12:23AM +0200, Andrej Picej wrote:
> Hi all,
> 
> when testing barebox ethernet on i.MX6 (phyCORE) we encountered a bug:
> the ethernet re-init on barebox doesn't work! If we do:
> $ ifup eth0
> $ ifdown eth0
> and then:
> $ ifup eth0
> $ ping HOST_IP
> the device hangs and can only be saved by resetting the board manually.

I can confirm the behaviour is the same here.

> 
> We narrowed the problem down to the "fec_tx_task_enable". It seems that
> enabling tx task with writing to TDAR reg hangs the device shortly after.
> 
> Did you guys maybe encounter something similar on i.MX6 boards or on any
> other boards?
> 
> I guess this is a really specific problem as people don't normally do
> ifup/ifdown with ethernet in bootloader :D.

Nope :)

> 
> Do you have any idea what could be the reason or how could this be solved?
> Any useful information would be greatly appreciated.

Part of the problem is that fec_halt() tears down the device completely.
The counterpart of that is fec_init(), but that is called from during
probe only. I think fec_init() should be called from fec_open() as well.

A quick test revealed this is really only part of the problem. The next
one is that fec_update_linkspeed() is not called on second open, so the
fec speed registers will not get their correct value.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


  reply	other threads:[~2022-06-14  8:29 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-14  7:12 Andrej Picej
2022-06-14  8:27 ` Sascha Hauer [this message]
2022-06-14 10:33   ` Andrej Picej

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220614082711.GQ1615@pengutronix.de \
    --to=sha@pengutronix.de \
    --cc=andrej.picej@norik.com \
    --cc=barebox@lists.infradead.org \
    --subject='Re: Ethernet reinit on phyCORE hangs the device' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox