ac14xx: re-order the recovery condition checks

re-order the conditions which make the recovery system startup: combine
those conditions which were explicitly initiated (key press, software
request) and those which post-process error conditions (installer issues)

Signed-off-by: Gerhard Sittig <gsi@denx.de>
This commit is contained in:
Gerhard Sittig 2013-06-05 14:51:08 +02:00 committed by Wolfgang Denk
parent 527a1c71fb
commit 14d4c5f39e

View File

@ -336,8 +336,8 @@ int misc_init_r(void)
/*
* enforce the start of the recovery system when
* - the appropriate keys were pressed
* - a previous installation was aborted or has failed
* - "some" external software told us to
* - a previous installation was aborted or has failed
*/
want_recovery = 0;
keys = gpio_querykbd();
@ -347,6 +347,11 @@ int misc_init_r(void)
printf("detected recovery request (keyboard)\n");
want_recovery = 1;
}
s = getenv("want_recovery");
if ((s != NULL) && (*s != '\0')) {
printf("detected recovery request (environment)\n");
want_recovery = 1;
}
s = getenv("install_in_progress");
if ((s != NULL) && (*s != '\0')) {
printf("previous installation has not completed\n");
@ -357,11 +362,6 @@ int misc_init_r(void)
printf("previous installation has failed\n");
want_recovery = 1;
}
s = getenv("want_recovery");
if ((s != NULL) && (*s != '\0')) {
printf("detected recovery request (environment)\n");
want_recovery = 1;
}
if (want_recovery) {
printf("enforced start of the recovery system\n");
setenv("bootcmd", "run recovery");