Comments
Patch
@@ -134,7 +134,8 @@ int erase_block_82802ab(struct flashchip *flash, unsigned int page, unsigned int
// now let's see what the register is
status = wait_82802ab(flash);
- print_status_82802ab(status);
+ if (status != 0x80) /* Ready, no error bits */
+ print_status_82802ab(status);
if (check_erased_range(flash, page, pagesize)) {
msg_cerr("ERASE FAILED!\n");
@@ -35,7 +35,8 @@ int erase_lhf00l04_block(struct flashchip *flash, unsigned int blockaddr, unsign
// clear status register
chip_writeb(0x50, bios);
status = wait_82802ab(flash);
- print_status_82802ab(status);
+ if (status != 0x80) /* Ready, no error bits */
+ print_status_82802ab(status);
// clear write protect
msg_cspew("write protect is at 0x%lx\n", (wrprotect));
msg_cspew("write protect is 0x%x\n", chip_readb(wrprotect));
@@ -48,7 +49,8 @@ int erase_lhf00l04_block(struct flashchip *flash, unsigned int blockaddr, unsign
programmer_delay(10);
// now let's see what the register is
status = wait_82802ab(flash);
- print_status_82802ab(status);
+ if (status != 0x80) /* Ready, no error bits */
+ print_status_82802ab(status);
if (check_erased_range(flash, blockaddr, blocklen)) {
msg_cerr("ERASE FAILED!\n");
@@ -68,7 +68,8 @@ int erase_sector_49lfxxxc(struct flashchip *flash, unsigned int address, unsigne
chip_writeb(0xD0, bios + address);
status = wait_82802ab(flash);
- print_status_82802ab(status);
+ if (status != 0x80) /* Ready, no error bits */
+ print_status_82802ab(status);
if (check_erased_range(flash, address, sector_size)) {
msg_cerr("ERASE FAILED!\n");
This is especially important for the SST FWH compatible chips with 4K sector size, where status printing for that small size was omitted up to r1347. Signed-off-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de> --- 82802ab.c | 3 ++- sharplhf00l04.c | 6 ++++-- sst49lfxxxc.c | 3 ++- 3 files changed, 8 insertions(+), 4 deletions(-)