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.
Corresponding to flashrom svn r1479.
Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
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 @@
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++;