summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandru Timohi <alexandru.timohi@intel.com>2016-04-14 11:27:18 +0300
committerMihai Serban <mihai.serban@intel.com>2016-05-10 15:53:18 +0300
commiteb94feb0984b65b2fe98fadc04f766f126514694 (patch)
tree04955188b7d96d9050ffab36cca4a6987118d031
parent56ec6fbcf3c91678b5fc0d9d25a536410af8202a (diff)
downloadedison-u-boot-eb94feb0984b65b2fe98fadc04f766f126514694.tar.gz
Add indication when booting to the non-requested A/B
After invalidating boot_b and using set_active to force boot to it, u-boot realizes that B is invalid and re-sets to boot A. There needs to be a clear warning message that this has occurred. Test: fastboot erase boot_b fastboot oem set_active 1 fastboot reboot Change-Id: Ib9f08bed053e146ff382d47fbe15f193b073c210 Traked-On: https://jira01.devtools.intel.com/browse/BP-78 Signed-off-by: Alexandru Timohi <alexandru.timohi@intel.com> Reviewed-on: https://android.intel.com/494518 Reviewed-by: Stanacar, Stefan <stefan.stanacar@intel.com> Reviewed-by: Patru, Irina <irina.patru@intel.com> Reviewed-by: Serban, Mihai <mihai.serban@intel.com>
-rw-r--r--common/cmd_boot_brillo.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/common/cmd_boot_brillo.c b/common/cmd_boot_brillo.c
index 8d4ff065c2..d87befd1d4 100644
--- a/common/cmd_boot_brillo.c
+++ b/common/cmd_boot_brillo.c
@@ -476,6 +476,13 @@ bool is_unbootable_slot (char *suffix) {
return false;
}
+static void __mark_slot_as_failed(struct slot_metadata *slot, char *slot_name)
+{
+ slot->successful_boot = 0;
+ slot->tries_remaining = 0;
+ slot->priority = 0;
+ printf("WARNING: failed to boot %s slot!\n", slot_name);
+}
static int brillo_boot_ab(void)
{
struct bootloader_message message;
@@ -530,9 +537,7 @@ static int brillo_boot_ab(void)
suffixes[slot_num]);
if (load_boot_image(dev, boot_part)) {
/* Failed to load, mark as failed */
- slot->successful_boot = 0;
- slot->tries_remaining = 0;
- slot->priority = 0;
+ __mark_slot_as_failed(slot, suffixes[slot_num]);
continue;
}
if (slot->tries_remaining > 0)
@@ -548,9 +553,7 @@ static int brillo_boot_ab(void)
/* Failed to boot, mark as failed */
setenv("bootargs", old_bootargs);
- slot->successful_boot = 0;
- slot->tries_remaining = 0;
- slot->priority = 0;
+ __mark_slot_as_failed(slot, suffixes[slot_num]);
ab_write_bootloader_message(dev, &misc_part, &message);
}
}