Commit 483b8f0c authored by Peter Stuge's avatar Peter Stuge
Browse files

Only find "unknown .. SPI chip" if no other chip was found


This removes the false positive matches we've been seeing, and also removes
the true positive match in case there is more than one flash chip and the 2nd
or 3rd are unknown - but I think that case is uncommon enough to warrant the
improvement in the common case. Use flashrom -frc forced read if you have the
uncommon case, and/or please add the flash chip to the flashchips array.

Corresponding to flashrom svn r313 and coreboot v2 svn r3562.
Signed-off-by: default avatarPeter Stuge <peter@stuge.se>
Acked-by: default avatarStefan Reinauer <stepan@coresystems.de>
parent 8d74c1b0
......@@ -99,12 +99,13 @@ int map_flash_registers(struct flashchip *flash)
return 0;
}
struct flashchip *probe_flash(struct flashchip *flash, int force)
struct flashchip *probe_flash(struct flashchip *first_flash, int force)
{
volatile uint8_t *bios;
struct flashchip *flash;
unsigned long flash_baseaddr = 0, size;
for (; flash && flash->name; flash++) {
for (flash = first_flash; flash && flash->name; flash++) {
if (chip_to_probe && strcmp(flash->name, chip_to_probe) != 0)
continue;
printf_debug("Probing for %s %s, %d KB: ",
......@@ -150,9 +151,13 @@ struct flashchip *probe_flash(struct flashchip *flash, int force)
if (force)
break;
if (flash->probe(flash) == 1)
if (flash->probe(flash) != 1)
goto notfound;
if (first_flash == flashchips || flash->model_id != GENERIC_DEVICE_ID)
break;
notfound:
munmap((void *)bios, size);
}
......
Markdown is supported
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