[U-Boot] [PATCH] fix lib_arm/bootm.c

Hi,
while digging thru the sources to find out why U-Boot won't start my Linux kernel, I stumbled over lib_arm/bootm.c and its check for the falg variable. I wonder how this ever worked as the condition is really heavy to match unless BOOTM_STATE_OS_GO is 0 which it isn't.
So I guess the patch below is mandatory or you could write an unlikely() around that check ;)
Best regards, Daniel
diff --git a/lib_arm/bootm.c b/lib_arm/bootm.c index 8e264ce..58a101f 100644 --- a/lib_arm/bootm.c +++ b/lib_arm/bootm.c @@ -67,7 +67,7 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images) char *commandline = getenv ("bootargs"); #endif
- if ((flag != 0) || (flag != BOOTM_STATE_OS_GO)) + if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) return 1;
theKernel = (void (*)(int, int, uint))images->ep;

On 20:36 Fri 28 Nov , Daniel Mack wrote:
Hi,
while digging thru the sources to find out why U-Boot won't start my Linux kernel, I stumbled over lib_arm/bootm.c and its check for the falg variable. I wonder how this ever worked as the condition is really heavy to match unless BOOTM_STATE_OS_GO is 0 which it isn't.
So I guess the patch below is mandatory or you could write an unlikely() around that check ;)
Best regards, Daniel
please update your local tree
Best Regards, J.

Daniel Mack wrote:
Hi,
while digging thru the sources to find out why U-Boot won't start my Linux kernel, I stumbled over lib_arm/bootm.c and its check for the falg variable. I wonder how this ever worked as the condition is really heavy to match unless BOOTM_STATE_OS_GO is 0 which it isn't.
Hi Daniel,
FYI, Peter Pearse found this independently. The patch apparently hasn't been applied to the mainline yet. :-(
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/49926
[snip]
Best regards, gvb

On 16:37 Fri 28 Nov , Jerry Van Baren wrote:
Daniel Mack wrote:
Hi,
while digging thru the sources to find out why U-Boot won't start my Linux kernel, I stumbled over lib_arm/bootm.c and its check for the falg variable. I wonder how this ever worked as the condition is really heavy to match unless BOOTM_STATE_OS_GO is 0 which it isn't.
Hi Daniel,
FYI, Peter Pearse found this independently. The patch apparently hasn't been applied to the mainline yet. :-(
already in mainline first found by Ilko Iliev commit 263b749e2e25
Best Regards, J.

Jerry Van Baren wrote:
Daniel Mack wrote:
Hi,
while digging thru the sources to find out why U-Boot won't start my Linux kernel, I stumbled over lib_arm/bootm.c and its check for the falg variable. I wonder how this ever worked as the condition is really heavy to match unless BOOTM_STATE_OS_GO is 0 which it isn't.
Hi Daniel,
FYI, Peter Pearse found this independently. The patch apparently hasn't been applied to the mainline yet. :-(
Ilko Iliev's patch is in mainline:
http://git.denx.de/?p=u-boot.git;a=commit;h=263b749e2e25473a48776d317bd2a7e2...
Regards
Dirk
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/49926
[snip]
Best regards, gvb
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
participants (4)
-
Daniel Mack
-
Dirk Behme
-
Jean-Christophe PLAGNIOL-VILLARD
-
Jerry Van Baren