diff options
author | stepan <stepan@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1> | 2008-03-16 19:44:13 +0000 |
---|---|---|
committer | stepan <stepan@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1> | 2008-03-16 19:44:13 +0000 |
commit | 45765b135463d96c62324491e23b609af6c31731 (patch) | |
tree | 44a8bacbeef826f95eda6b387f5e0e5b9a85e89a /sst_fwhub.c | |
parent | b71583b87d1e39c6f781e424cf44bfc76557990c (diff) | |
download | flashrom-45765b135463d96c62324491e23b609af6c31731.tar.gz |
Original v2 revision: 3153
check whether SST FWH chip was successfully erased on flashchip -E, too
(trivial)
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>
git-svn-id: https://code.coreboot.org/svn/flashrom/trunk@212 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'sst_fwhub.c')
-rw-r--r-- | sst_fwhub.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/sst_fwhub.c b/sst_fwhub.c index 0f5dd15..455107e 100644 --- a/sst_fwhub.c +++ b/sst_fwhub.c @@ -63,10 +63,19 @@ int erase_sst_fwhub(struct flashchip *flash) { int i; unsigned int total_size = flash->total_size * 1024; + volatile uint8_t *bios = flash->virtual_memory; for (i = 0; i < total_size; i += flash->page_size) erase_sst_fwhub_block(flash, i); + // dumb check if erase was successful. + for (i = 0; i < total_size; i++) { + if (bios[i] != 0xff) { + printf("ERASE FAILED!\n"); + return -1; + } + } + return 0; } @@ -78,15 +87,8 @@ int write_sst_fwhub(struct flashchip *flash, uint8_t *buf) volatile uint8_t *bios = flash->virtual_memory; // FIXME: We want block wide erase instead of ironing the whole chip - erase_sst_fwhub(flash); - - // dumb check if erase was successful. - for (i = 0; i < total_size; i++) { - if (bios[i] != 0xff) { - printf("ERASE FAILED!\n"); - return -1; - } - } + if (erase_sst_fwhub(flash)) + return -1; printf("Programming page: "); for (i = 0; i < total_size / page_size; i++) { |