[U-Boot] [PATCH] cmd_nand: show nand scrub confirmation character
Florian Fainelli
f.fainelli at gmail.com
Sat Mar 20 19:02:58 CET 2010
On Friday 19 March 2010 23:02:11 Scott Wood wrote:
> On Fri, Mar 19, 2010 at 04:06:16PM +0100, Florian Fainelli wrote:
> > When issuing a nand scrub command, the entered character is not displayed
> > this may be confusing. This patch makes the input character being
> > displayed if it is a 'y' so that an user knows he is about to scrub his
> > nand.
> >
> > Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
> > ---
> > diff --git a/common/cmd_nand.c b/common/cmd_nand.c
> > index 075a8af..69cc0a8 100644
> > --- a/common/cmd_nand.c
> > +++ b/common/cmd_nand.c
> > @@ -327,8 +327,10 @@ int do_nand(cmd_tbl_t * cmdtp, int flag, int argc,
> > char *argv[]) "are sure of what you are doing!\n"
> > "\nReally scrub this NAND flash? <y/N>\n");
> >
> > - if (getc() == 'y' && getc() == '\r') {
> > - opts.scrub = 1;
> > + if (getc() == 'y') {
> > + puts("y");
> > + if (getc() == '\r')
> > + opts.scrub = 1;
> > } else {
> > puts("scrub aborted\n");
> > return -1;
>
> You're changing the behavior in case the user presses y and then does
> something other than hit return. You won't set scrub = 1, but you'll
> continue with the erase rather than printing "scrub aborted" and returning.
That's correct, what about this:
--
From: Florian Fainelli <f.fainelli at gmail.com>
Subject: [PATCH] cmd_nand: show nand scrub confirmation character
When issuing a nand scrub command, the entered character is not displayed
this may be confusing. This patch makes the input character being
displayed if it is a 'y' so that an user knows he is about to scrub his
nand.
Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
---
diff --git a/common/cmd_nand.c b/common/cmd_nand.c
index 075a8af..9b0c930 100644
--- a/common/cmd_nand.c
+++ b/common/cmd_nand.c
@@ -327,8 +327,14 @@ int do_nand(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
"are sure of what you are doing!\n"
"\nReally scrub this NAND flash? <y/N>\n");
- if (getc() == 'y' && getc() == '\r') {
- opts.scrub = 1;
+ if (getc() == 'y') {
+ puts("y");
+ if (getc() == '\r')
+ opts.scrub = 1;
+ else {
+ puts("scrub aborted\n");
+ return -1;
+ }
} else {
puts("scrub aborted\n");
return -1;
More information about the U-Boot
mailing list