diff options
Diffstat (limited to 'w39v040c.c')
-rw-r--r-- | w39v040c.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/w39v040c.c b/w39v040c.c index 48e9bd3d2..7fccd538b 100644 --- a/w39v040c.c +++ b/w39v040c.c @@ -60,16 +60,13 @@ int erase_w39v040c(struct flashchip *flash) { int i; unsigned int total_size = flash->total_size * 1024; - chipaddr bios = flash->virtual_memory; - - for (i = 0; i < total_size; i += flash->page_size) - erase_sector_jedec(flash->virtual_memory, i); - for (i = 0; i < total_size; i++) - if (0xff != chip_readb(bios + i)) { - printf("ERASE FAILED at 0x%08x! Expected=0xff, Read=0x%02x\n", i, chip_readb(bios + i)); + for (i = 0; i < total_size; i += flash->page_size) { + if (erase_sector_jedec(flash, i, flash->page_size)) { + fprintf(stderr, "ERASE FAILED!\n"); return -1; } + } return 0; } @@ -81,8 +78,10 @@ int write_w39v040c(struct flashchip *flash, uint8_t *buf) int page_size = flash->page_size; chipaddr bios = flash->virtual_memory; - if (flash->erase(flash)) + if (flash->erase(flash)) { + fprintf(stderr, "ERASE FAILED!\n"); return -1; + } printf("Programming page: "); for (i = 0; i < total_size / page_size; i++) { |