diff mbox

[U-Boot,v3] bootvx_fdt: fix missing 'fdt_fixup_ethernet(...)' on vxWorks boot

Message ID 1503664057-11707-1-git-send-email-oe5hpm@oevsv.at
State Accepted
Commit a223e2bc10ef2bdcf2415e4453e676a9c3d70f42
Delegated to: Tom Rini
Headers show

Commit Message

Hannes Schmelzer Aug. 25, 2017, 12:27 p.m. UTC
Before commit 26d6119 (fdt: Move fdt_fixup_ethernet to a common place)
the fdt_fixup_ethernet(...) was called during do_bootvx_fdt(...).

Afterwards the only (common) place for this fixup is during
image_setup_libfdt(...) and this is only called, at least on ARM
platform, from image_setup_linux(...).

All this ends up in the fact, that the fdt_fixup_ethernet(...) is only
called on booting a linux image and not on booting a vxWorks image.

We fix this with adding the fdt_fixup_ethernet(...) call again to
do_bootvx_fdt(...)

Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>

---

Changes in v3:
- cosmetic changes (coding style)

Changes in v2:
- restore original behaviour from
  b3b522f247d3f19c4f2309ab0e6a02b3dd82de45 with moving the
  fdt_fixup_ethernet(...) call after boot_relocate_fdt(...)

 common/bootm_os.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Bin Meng Aug. 25, 2017, 12:30 p.m. UTC | #1
On Fri, Aug 25, 2017 at 8:27 PM, Hannes Schmelzer <oe5hpm@oevsv.at> wrote:
> Before commit 26d6119 (fdt: Move fdt_fixup_ethernet to a common place)
> the fdt_fixup_ethernet(...) was called during do_bootvx_fdt(...).
>
> Afterwards the only (common) place for this fixup is during
> image_setup_libfdt(...) and this is only called, at least on ARM
> platform, from image_setup_linux(...).
>
> All this ends up in the fact, that the fdt_fixup_ethernet(...) is only
> called on booting a linux image and not on booting a vxWorks image.
>
> We fix this with adding the fdt_fixup_ethernet(...) call again to
> do_bootvx_fdt(...)
>
> Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
>
> ---
>
> Changes in v3:
> - cosmetic changes (coding style)
>
> Changes in v2:
> - restore original behaviour from
>   b3b522f247d3f19c4f2309ab0e6a02b3dd82de45 with moving the
>   fdt_fixup_ethernet(...) call after boot_relocate_fdt(...)
>
>  common/bootm_os.c | 3 +++
>  1 file changed, 3 insertions(+)
>

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tom Rini Aug. 29, 2017, 2:56 a.m. UTC | #2
On Fri, Aug 25, 2017 at 02:27:37PM +0200, Hannes Schmelzer wrote:

> Before commit 26d6119 (fdt: Move fdt_fixup_ethernet to a common place)
> the fdt_fixup_ethernet(...) was called during do_bootvx_fdt(...).
> 
> Afterwards the only (common) place for this fixup is during
> image_setup_libfdt(...) and this is only called, at least on ARM
> platform, from image_setup_linux(...).
> 
> All this ends up in the fact, that the fdt_fixup_ethernet(...) is only
> called on booting a linux image and not on booting a vxWorks image.
> 
> We fix this with adding the fdt_fixup_ethernet(...) call again to
> do_bootvx_fdt(...)
> 
> Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/common/bootm_os.c b/common/bootm_os.c
index 1feea8a..31b1878 100644
--- a/common/bootm_os.c
+++ b/common/bootm_os.c
@@ -276,6 +276,9 @@  void do_bootvx_fdt(bootm_headers_t *images)
 		if (ret)
 			return;
 
+		/* Update ethernet nodes */
+		fdt_fixup_ethernet(*of_flat_tree);
+
 		ret = fdt_add_subnode(*of_flat_tree, 0, "chosen");
 		if ((ret >= 0 || ret == -FDT_ERR_EXISTS)) {
 			bootline = env_get("bootargs");