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

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
---
common/bootm_os.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/common/bootm_os.c b/common/bootm_os.c index 1feea8a..56b1c3c 100644 --- a/common/bootm_os.c +++ b/common/bootm_os.c @@ -271,6 +271,8 @@ void do_bootvx_fdt(bootm_headers_t *images)
if (*of_flat_tree) { boot_fdt_add_mem_rsv_regions(lmb, *of_flat_tree); + /* Update ethernet nodes */ + fdt_fixup_ethernet(*of_flat_tree);
ret = boot_relocate_fdt(lmb, of_flat_tree, &of_size); if (ret)

Hi Hannes,
On Fri, Aug 25, 2017 at 4:44 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(...).
Thanks for catching this!
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
common/bootm_os.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/common/bootm_os.c b/common/bootm_os.c index 1feea8a..56b1c3c 100644 --- a/common/bootm_os.c +++ b/common/bootm_os.c @@ -271,6 +271,8 @@ void do_bootvx_fdt(bootm_headers_t *images)
if (*of_flat_tree) { boot_fdt_add_mem_rsv_regions(lmb, *of_flat_tree);
/* Update ethernet nodes */
fdt_fixup_ethernet(*of_flat_tree);
Can we insert this call after boot_relocate_fdt(), like the original commit in b3b522f247d3f19c4f2309ab0e6a02b3dd82de45 did?
ret = boot_relocate_fdt(lmb, of_flat_tree, &of_size); if (ret)
--
Regards, Bin

On 08/25/2017 11:21 AM, Bin Meng wrote:
Hi Hannes,
On Fri, Aug 25, 2017 at 4:44 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(...).
Thanks for catching this!
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
common/bootm_os.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/common/bootm_os.c b/common/bootm_os.c index 1feea8a..56b1c3c 100644 --- a/common/bootm_os.c +++ b/common/bootm_os.c @@ -271,6 +271,8 @@ void do_bootvx_fdt(bootm_headers_t *images)
if (*of_flat_tree) { boot_fdt_add_mem_rsv_regions(lmb, *of_flat_tree);
/* Update ethernet nodes */
fdt_fixup_ethernet(*of_flat_tree);
Can we insert this call after boot_relocate_fdt(), like the original commit in b3b522f247d3f19c4f2309ab0e6a02b3dd82de45 did?
Yes, i will send v2.
ret = boot_relocate_fdt(lmb, of_flat_tree, &of_size); if (ret)
--
Regards, Bin
cheers, Hannes
participants (3)
-
Bin Meng
-
Hannes Schmelzer
-
Hannes Schmelzer