Commit 8456cb2c authored by Bjorn Andersson's avatar Bjorn Andersson
Browse files

program: Correct a/b XBL match

A full build will contain both xbl_a and xbl_b, so matching on the
prefix of "xbl" will find two entries which we consider invalid.
Explicitly search for "xbl_a" instead.

Fixes: 5ea1e20c

 ("program: Match xbl in a/b scenarios")
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
parent 8589513f
...@@ -139,9 +139,9 @@ int program_execute(struct qdl_device *qdl, int (*apply)(struct qdl_device *qdl, ...@@ -139,9 +139,9 @@ int program_execute(struct qdl_device *qdl, int (*apply)(struct qdl_device *qdl,
* *
* Returns partition number, or negative errno on failure. * Returns partition number, or negative errno on failure.
* *
* Scan program tags for a partition with the label "sbl1" or that starts with * Scan program tags for a partition with the label "sbl1", "xbl" or "xbl_a"
* the string "xbl" and return the partition number for this. If more than one * and return the partition number for this. If more than one line matches
* line matches we're assuming our logic is flawed and return an error. * we're assuming our logic is flawed and return an error.
*/ */
int program_find_bootable_partition(void) int program_find_bootable_partition(void)
{ {
...@@ -152,7 +152,8 @@ int program_find_bootable_partition(void) ...@@ -152,7 +152,8 @@ int program_find_bootable_partition(void)
for (program = programes; program; program = program->next) { for (program = programes; program; program = program->next) {
label = program->label; label = program->label;
if (!strncmp(label, "xbl", 3) || !strcmp(label, "sbl1")) { if (!strcmp(label, "xbl") || !strcmp(label, "xbl_a") ||
!strcmp(label, "sbl1")) {
if (part != -ENOENT) if (part != -ENOENT)
return -EINVAL; return -EINVAL;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment