summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2019-05-17 22:29:25 -0700
committerPatrick Georgi <pgeorgi@google.com>2019-06-21 09:23:02 +0000
commit80f3ac63f2d73c96ae394ec26361f16ab7724687 (patch)
tree52d292d7db31113da342b1a4026ed9019548f706
parent21b0b1adec23d2f67e51a47207e691fb41f576dd (diff)
downloadcoreboot-80f3ac63f2d73c96ae394ec26361f16ab7724687.tar.xz
fit: Check all compat strings for highest match
The compat string matching code was mostly copied from depthcharge. One of the few differences is that we now store the list of compat strings we're willing to match in a list rather than an array. Since our lists insert at the front, that means the strings are now ordered lowest to highest (not highest to lowest like in depthcharge). We did rewrite the compat_rank matching code to accomodate for that... however, what we didn't do is remove the break-statement in the loop that matches all compat strings. When we search the lowest priority first, we can't abort the search as soon as we found a match -- we have to keep looking because we might find a higher priority match later. This patch fixes the issue so that my Kevin can actually match for google,kevin-rev5 (and doesn't just jump at the first best google,kevin match). Change-Id: Ibe3d84bbce6de3cd49c746a667ae1ccfdc843105 Signed-off-by: Julius Werner <jwerner@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/32874 Reviewed-by: Hung-Te Lin <hungte@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/lib/fit.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/lib/fit.c b/src/lib/fit.c
index 6ac0a8917e..37dfc8de98 100644
--- a/src/lib/fit.c
+++ b/src/lib/fit.c
@@ -463,7 +463,6 @@ static int fit_update_compat(struct fit_config_node *config)
config->compat_rank = i;
config->compat_string =
compat_node->compat_string;
- break;
}
i++;
}