Skip to contentSkip to conversation

broken lib_arm/boom.c/do_bootm_linux()

U-Boot New Ilko Iliev 5 participants 8 messages Nov 7, 2008 – Nov 20, 2008

lore
Share & tools
lore

Ilko Iliev

author
#0 lore raw

Hi,

There is a bug in lib_arm/boom.c/do_bootm_linux():

    if ((flag != 0) || (flag != BOOTM_STATE_OS_GO))
        return 1;

The parameter "flag" is 0 and the above condition is always true.

The result is - the boom command doesn't start the kernel. Affected targets: all arm based.

Maybe it should be corrected to:

    if ((flag != 0) && (flag != BOOTM_STATE_OS_GO))
        return 1;
Signature · 6 lines
With best regards,
Ilko Iliev
Ronetix Development Tools GmbH
CPU Modules, JTAG/BDM Emulators and Flash Programmers
Waidhausenstrasse 13/5, 1140 Vienna, Austria
E-Mail: iliev at ronetix.at; Web: www.ronetix.at
#1 lore raw
Quoted 6 lines · Ilko Iliev

Hi,

There is a bug in lib_arm/boom.c/do_bootm_linux():

   if ((flag != 0) || (flag != BOOTM_STATE_OS_GO))
       return 1;
Quoted 9 lines

The parameter "flag" is 0 and the above condition is always true.

The result is - the boom command doesn't start the kernel. Affected targets: all arm based.

Maybe it should be corrected to:

   if ((flag != 0) && (flag != BOOTM_STATE_OS_GO))
       return 1;

that's correct.. for some reason the lib_arm/ case didn't get fixed. How about sending a patch to fix it.

- k

author
#2 lore raw

PATCH 1/1 lib_arm: do_bootm_linux() - correct a small mistake

---
 lib_arm/bootm.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
lib_arm/bootm.c +1 -1
index 8e264ce..7dbde7d 100644
@@ -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;
Signature · 1 line
1.5.2.2
#3 lore raw

PATCH 1/1 lib_arm: do_bootm_linux() - correct a small mistake

On 17:11 Sat 08 Nov , Ilko Iliev wrote:
Could do a comment like your precedent e-mail which explain what problem your fix

Best Regards,
J.

author
#4 lore raw

PATCH 1/1 lib_arm: do_bootm_linux() - correct a small mistake

This patch corrects a small bug in the "if" condition:
the parameter "flag" is 0 and the "if" condition is always true. The result is - the boom command doesn't start the kernel. Affected targets: all arm based.

---
 lib_arm/bootm.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
lib_arm/bootm.c +1 -1
index 8e264ce..7dbde7d 100644
@@ -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;
Signature · 1 line
1.5.2.2
#5 lore raw

PATCH 1/1 lib_arm: do_bootm_linux() - correct a small mistake

Quoted 10 lines · Ilko Iliev

This patch corrects a small bug in the "if" condition:
the parameter "flag" is 0 and the "if" condition is always true. The result is - the boom command doesn't start the kernel. Affected targets: all arm based.

---
 lib_arm/bootm.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Applied to u-boot-arm/master and u-boot-arm/omap3

Best Regards,
J.

#6 lore raw

[U-Boot] Merge fixes/clean up outside merge window? was: Re: [PATCH] lib_arm: do_bootm_linux() - correct a small mistake

Quoted 8 lines · Jean-Christophe PLAGNIOL-VILLARD
Quoted 6 lines · Ilko Iliev

This patch corrects a small bug in the "if" condition:
the parameter "flag" is 0 and the "if" condition is always true. The result is - the boom command doesn't start the kernel. Affected targets: all arm based.

Quoted 6 lines
Quoted 4 lines

---
lib_arm/bootm.c | 2 +-

1 files changed, 1 insertions(+), 1 deletions(-)

Applied to u-boot-arm/master and u-boot-arm/omap3

Is there any special reason why no git pull request for mainline for this is sent? Isn't this an important fix which should go into mainline even if merge window is not open?

Dirk

And btw: What's about merging clean up patches like

http://lists.denx.de/pipermail/u-boot/2008-November/043220.html

now (outside merge window) into mainline via e.g. u-boot-arm/master? Having this merged now, I could rebase OMAP3 patch against this and mainline would be ready when merge window opens.

#7 lore raw

[U-Boot] Merge fixes/clean up outside merge window? was: Re: [PATCH] lib_arm: do_bootm_linux() - correct a small mistake

Dear Dirk,

Quoted 2 lines · In message <[email protected]> you wrote:
Quoted 2 lines
Quoted 2 lines

This patch corrects a small bug in the "if" condition:

...

Quoted 5 lines
Quoted 1 line

Applied to u-boot-arm/master and u-boot-arm/omap3

Is there any special reason why no git pull request for mainline for this is sent? Isn't this an important fix which should go into mainline even if merge window is not open?

Yes, this *should* go into mainline ASAP.

I am waiting for a pull request for u-boot-arm myself, too.

Best regards,

Wolfgang Denk

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
How many QA engineers does it take to screw in a lightbulb? 3:  1  to
screw it in and 2 to say "I told you so" when it doesn't work.