diff options
author | Julius Werner <jwerner@chromium.org> | 2019-05-17 22:29:25 -0700 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2019-06-21 09:23:02 +0000 |
commit | 80f3ac63f2d73c96ae394ec26361f16ab7724687 (patch) | |
tree | 52d292d7db31113da342b1a4026ed9019548f706 /src/lib | |
parent | 21b0b1adec23d2f67e51a47207e691fb41f576dd (diff) |
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>
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/fit.c | 1 |
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++; } |