From d07140b72b84e937150ab9867de183ca0ea3de88 Mon Sep 17 00:00:00 2001 From: Nico Huber Date: Thu, 17 Jun 2021 22:47:00 +0200 Subject: ich_descriptors: Don't base chipset detection on `freq_read` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Only warn if the `freq_read` setting looks odd but don't override our previous guess. The `freq_read` check was taken from `ifdtool` but seems less reliable than our own detection scheme. Change-Id: I658d76ec2567d1d660a18d0b0ae71c744e603e8f Signed-off-by: Nico Huber Reviewed-on: https://review.coreboot.org/c/flashrom/+/55650 Tested-by: build bot (Jenkins) Reviewed-by: Angel Pons Reviewed-by: Michał Żygowski --- ich_descriptors.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'ich_descriptors.c') diff --git a/ich_descriptors.c b/ich_descriptors.c index dbc2da4e..10355d90 100644 --- a/ich_descriptors.c +++ b/ich_descriptors.c @@ -984,7 +984,7 @@ static enum ich_chipset guess_ich_chipset(const struct ich_desc_content *const c case CHIPSET_400_SERIES_COMET_POINT: case CHIPSET_GEMINI_LAKE: /* `freq_read` was repurposed, so can't check on it any more. */ - return guess; + break; case CHIPSET_100_SERIES_SUNRISE_POINT: case CHIPSET_C620_SERIES_LEWISBURG: case CHIPSET_APOLLO_LAKE: @@ -993,19 +993,17 @@ static enum ich_chipset guess_ich_chipset(const struct ich_desc_content *const c "However, the read frequency isn't set to 17MHz (the only valid value).\n" "Please report this message, the output of `ich_descriptors_tool` for\n" "your descriptor and the output of `lspci -nn` to flashrom@flashrom.org\n\n"); - return CHIPSET_9_SERIES_WILDCAT_POINT; } - return guess; + break; default: if (component->modes.freq_read == 6) { msg_pwarn("\nThe flash descriptor has the read frequency set to 17MHz. However,\n" "it doesn't look like a Skylake/Sunrise Point compatible descriptor.\n" "Please report this message, the output of `ich_descriptors_tool` for\n" "your descriptor and the output of `lspci -nn` to flashrom@flashrom.org\n\n"); - return CHIPSET_100_SERIES_SUNRISE_POINT; } - return guess; } + return guess; } /* len is the length of dump in bytes */ -- cgit v1.2.3