[U-Boot] Regression after "distro: not taint environment variables if possible"

Nuno Gonçalves nunojpg at gmail.com
Wed Jul 10 11:46:57 UTC 2019


Hi,

I found out that my Beaglebone didn't boot after:

https://github.com/u-boot/u-boot/commit/13dd6665ed18f72380ca596931d609bc108d4b82

I digged out the reason that this patch makes devnum a local variable,
and it ends up shadowed by other code that sets devnum as a env
variable.

For example to boot on the beaglebone I had to remove the setenv as in
the patch below.

This only fixes for my board. Many other will likely have regressions.

Fixing it for all boards in a reliable way I think is very complex,
unless the strategy is to wait for board maintainers to fix it as they
need it, but I wonder how many latent bugs this will create for corner
boot cases.

Maybe this change is not worth it?

Thanks,
Nuno

diff --git a/include/environment/ti/mmc.h b/include/environment/ti/mmc.h
index 785fc15345..bb4af0a3d5 100644
--- a/include/environment/ti/mmc.h
+++ b/include/environment/ti/mmc.h
@@ -56,7 +56,7 @@
                        "bootz; " \
                "fi;\0" \
        "mmcboot=mmc dev ${mmcdev}; " \
-               "setenv devnum ${mmcdev}; " \
+               "devnum=${mmcdev}; " \
                "setenv devtype mmc; " \
                "if mmc rescan; then " \
                        "echo SD/MMC found on device ${mmcdev};" \


More information about the U-Boot mailing list