From 7a7322bbf6c5edb9603218e692c1453cd8ce88d3 Mon Sep 17 00:00:00 2001 From: mkarcher Date: Thu, 22 Dec 2011 23:27:03 +0000 Subject: Fix programmer-centric probe (patch v2) As reported by Stefan Tauner on IRC, the new programmer-centric logic is broken by re-using occupied members of the flashes array when changing to the next programmer. This fixes it. patch v2: prevent probing one chip per programmer even if the array is full. Using a do-while loop was a bad idea. Signed-off-by: Michael Karcher Acked-by: Carl-Daniel Hailfinger git-svn-id: https://code.coreboot.org/svn/flashrom/trunk@1479 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- cli_classic.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cli_classic.c b/cli_classic.c index 543b644..a931de8 100644 --- a/cli_classic.c +++ b/cli_classic.c @@ -451,9 +451,10 @@ int main(int argc, char *argv[]) for (j = 0; j < registered_programmer_count; j++) { startchip = 0; - for (i = 0; i < ARRAY_SIZE(flashes); i++) { + while (chipcount < ARRAY_SIZE(flashes)) { startchip = probe_flash(®istered_programmers[j], - startchip, &flashes[i], 0); + startchip, + &flashes[chipcount], 0); if (startchip == -1) break; chipcount++; -- cgit v1.2.1