[U-Boot] [PATCHv2 3/4] env_nand.c: clarify log messages when env reading fails
Phil Sutter
phil.sutter at viprinet.com
Mon Feb 25 10:39:12 CET 2013
Scott,
On Fri, Feb 22, 2013 at 07:59:41PM -0600, Scott Wood wrote:
> On Thu, Feb 21, 2013 at 06:21:55PM +0100, Phil Sutter wrote:
> > The single message is misleading, since there is no equivalent success
> > note when reading the other copy succeeds. Instead, warn if one of the
> > redundant copies could not be loaded and emphasise on the error when
> > reading both fails.
> >
> > Signed-off-by: Phil Sutter <phil.sutter at viprinet.com>
> > ---
> > common/env_nand.c | 12 ++++++++----
> > 1 files changed, 8 insertions(+), 4 deletions(-)
>
> Applied to u-boot-nand-flash.
>
> > - if (readenv(CONFIG_ENV_OFFSET_REDUND, (u_char *) tmp_env2))
> > - puts("No Valid Redundant Environment Area found\n");
> > + if (read1_fail && read2_fail)
> > + puts("*** Error - No Valid Environment Area found\n");
> > + else if (read1_fail || read2_fail)
> > + puts("*** Warning - some problems detected "
> > + "reading environment; recovered successfully\n");
> >
> > crc1_ok = crc32(0, tmp_env1->data, ENV_SIZE) == tmp_env1->crc;
> > crc2_ok = crc32(0, tmp_env2->data, ENV_SIZE) == tmp_env2->crc;
>
> We should also give a message if one of the CRCs is bad, though that's
> an existing problem.
Yes, that would be nice. While writing this, I also had the idea of
introducing some macros for unified message output, like so:
| #define __print(level, ...) {
| printf("*** %s - ", level);
| printf(__VA_ARGS__);
| printf("\n");
| }
| #define perror(...) __print("Error", __VA_ARGS__)
| #define pwarn(...) __print("Warning", __VA_ARGS__)
| ...
What do you think? That would require diligently touching a lot of
source files, of course.
Best wishes,
Phil Sutter
Software Engineer
--
Viprinet - Never be offline again!
************************************************
Viprinet auf der CeBIT 2013 - 5.-9. März:
Besuchen Sie uns in Halle 13, Stand D27!
Alle gezeigten Produkte im Livebetrieb,
zahlreiche Beispielapplikationen. Gerne
schicken wir Ihnen kostenlose Eintrittskarten.
http://www.viprinet.com/de/cebit-2013
************************************************
Viprinet at CeBIT 2013, March 5 to 9
in Hannover, Germany. Come and visit us
at Hall 13, Booth D27! All exhibits shown
live, many sample applications. We’ll be
happy to send you free admission tickets.
http://www.viprinet.com/en/cebit-2013
************************************************
Viprinet Europe GmbH
Mainzer Str. 43
55411 Bingen am Rhein
Germany
Phone/Zentrale: +49 6721 49030-0
Direct line/Durchwahl: +49 6721 49030-134
Fax: +49 6721 49030-109
phil.sutter at viprinet.com
http://www.viprinet.com
Registered office/Sitz der Gesellschaft: Bingen am Rhein, Germany
Commercial register/Handelsregister: Amtsgericht Mainz HRB44090
CEO/Geschäftsführer: Simon Kissel
More information about the U-Boot
mailing list