diff --git a/flashchips.c b/flashchips.c index ac27c90548ac1940da9619f3b2cae5db6c04f9d2..65eb7f0ae7f50b0ed16fe7c9ef9ee49bb3a2e2e6 100644 --- a/flashchips.c +++ b/flashchips.c @@ -3060,7 +3060,7 @@ struct flashchip flashchips[] = { .model_id = W_29C040P, .total_size = 512, .page_size = 256, - .tested = TEST_UNTESTED, + .tested = TEST_OK_PREW, .probe = probe_jedec, .probe_timing = 10, .erase = erase_chip_jedec, diff --git a/jedec.c b/jedec.c index fb6e5ed7b59e9e5e341ab0e86a36243017d316a3..69a59b32b18ad9c430807edf1230421f83ec962c 100644 --- a/jedec.c +++ b/jedec.c @@ -262,7 +262,7 @@ int erase_chip_jedec(struct flashchip *flash) int write_page_write_jedec(struct flashchip *flash, uint8_t *src, int start, int page_size) { - int i, tried = 0, start_index = 0, ok; + int i, tried = 0, ok; uint8_t *s = src; chipaddr bios = flash->virtual_memory; chipaddr dst = bios + start; @@ -275,7 +275,7 @@ retry: chip_writeb(0xA0, bios + 0x5555); /* transfer data from source to destination */ - for (i = start_index; i < page_size; i++) { + for (i = 0; i < page_size; i++) { /* If the data is 0xFF, don't program it */ if (*src != 0xFF) chip_writeb(*src, dst); @@ -290,7 +290,7 @@ retry: ok = !verify_range(flash, src, start, page_size, NULL); if (!ok && tried++ < MAX_REFLASH_TRIES) { - start_index = i; + fprintf(stderr, "retrying.\n"); goto retry; } if (!ok) {