summaryrefslogtreecommitdiffstats
path: root/cli_classic.c
diff options
context:
space:
mode:
authorMichael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>2011-12-22 23:27:03 +0000
committerMichael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>2011-12-22 23:27:03 +0000
commit222bf1013f39808e42479cd2f1cc2687cc59e657 (patch)
treeea9c5b838bc0cc30b373d6450e1c705f18bab638 /cli_classic.c
parent3cf335eba0067ad44bb32957a841decf1a52bc59 (diff)
downloadast2050-flashrom-222bf1013f39808e42479cd2f1cc2687cc59e657.zip
ast2050-flashrom-222bf1013f39808e42479cd2f1cc2687cc59e657.tar.gz
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>
Diffstat (limited to 'cli_classic.c')
-rw-r--r--cli_classic.c5
1 files 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(&registered_programmers[j],
- startchip, &flashes[i], 0);
+ startchip,
+ &flashes[chipcount], 0);
if (startchip == -1)
break;
chipcount++;
OpenPOWER on IntegriCloud