[U-Boot] [PATCH] fix lib_arm/bootm.c
Daniel Mack
daniel at caiaq.de
Fri Nov 28 20:36:30 CET 2008
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;
More information about the U-Boot
mailing list