
Hi Matthias,
I am using u-boot.2010.09 on a MPC8568-based board.
Ah! I didn't realize that you are in the excellent position to have one good and one bad commit. Simply use git bisect to find the problematic commit and show that to us.
so far I traced it down to the adjust_link call in uec_init from file uec.c (line 1234 in release 2011.03).
This call wasn't there in release 2009.11.1 and removing that line solves the issue here.
git blame shows this commit to be responsible:
commit 582c55a0274f38e6e7e35b95e7ab81d3e912f700 Author: Heiko Schocher hs@denx.de Date: Wed Jan 20 09:04:28 2010 +0100
83xx, uec: split enet_interface in two variables
There's no sensible reason to unite speed and interface type into one variable. So split this variable enet_interface into two vars: enet_interface_type, which hold the interface type and speed.
Also: add the possibility for switching between 10 and 100 MBit interfaces on the fly, when running in FAST_ETH mode.
Signed-off-by: Heiko Schocher hs@denx.de Signed-off-by: Ben Warren biggerbadderben@gmail.com
I don't know, why this went in and what the drawbacks are without it. Maybe someone on this list knows... (Sorry, I didn't search for a specific commit in git, yet. I just diffed pertinent files around the qe|uec|net drivers first.)
Hm, looking at adjust_link code, it seems that for you someone set mii_info->link to 0 which gets you into the else clause of this function. On a quick grep, I cannot find any place where this happens, but I guess this is your problem (or at least one of them) ;)
Maybe Heiko can contribute some more insights?
Happy sunny Easter all! 8-)
Same to you, thanks! Detlev