From de75a5ed7f0f1b05e32a97423723db7a0719a2f2 Mon Sep 17 00:00:00 2001 From: Carl-Daniel Hailfinger Date: Thu, 1 Oct 2009 13:16:32 +0000 Subject: Introduce proper error checking for SPI programming Corresponding to flashrom svn r739. Signed-off-by: Carl-Daniel Hailfinger Acked-by: Stefan Reinauer --- spi.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'spi.c') diff --git a/spi.c b/spi.c index 8b3f6d9..cfb6966 100644 --- a/spi.c +++ b/spi.c @@ -970,7 +970,7 @@ int spi_chip_read(struct flashchip *flash, uint8_t *buf, int start, int len) int spi_chip_write_1(struct flashchip *flash, uint8_t *buf) { int total_size = 1024 * flash->total_size; - int i; + int i, result = 0; spi_disable_blockprotect(); /* Erase first */ @@ -981,7 +981,9 @@ int spi_chip_write_1(struct flashchip *flash, uint8_t *buf) } printf("done.\n"); for (i = 0; i < total_size; i++) { - spi_byte_program(i, buf[i]); + result = spi_byte_program(i, buf[i]); + if (result) + return 1; while (spi_read_status_register() & JEDEC_RDSR_BIT_WIP) programmer_delay(10); } -- cgit v1.1