
The sunxi platform relies on the core boot sequence to load and process device tree blobs, including writing back any MAC addresses we generate by an implicit call to fdt_fixup_ethernet() within the image loading mechanism. This call was removed in commit 3f66149d9fb4 ("Remove extra fdt_fixup_ethernet() call"), resuling in Linux using random MAC addresses.
This patch adds an explicit call to fdt_fixup_ethernet() in our ft_board_setup() function.
Fixes: 3f66149d9fb4 ("Remove extra fdt_fixup_ethernet() call") Signed-off-by: Chen-Yu Tsai wens@csie.org ---
I wonder, if every platform wants or needs to do this, maybe we should just do this in a central place instead.
--- board/sunxi/board.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/board/sunxi/board.c b/board/sunxi/board.c index 04a629125e0f..e10239ca4550 100644 --- a/board/sunxi/board.c +++ b/board/sunxi/board.c @@ -29,6 +29,7 @@ #include <asm/io.h> #include <crc.h> #include <environment.h> +#include <fdt_support.h> #include <libfdt.h> #include <nand.h> #include <net.h> @@ -743,6 +744,8 @@ int ft_board_setup(void *blob, bd_t *bd) */ setup_environment(blob);
+ fdt_fixup_ethernet(blob); + #ifdef CONFIG_VIDEO_DT_SIMPLEFB r = sunxi_simplefb_setup(blob); if (r)