This is an automated email from Gerrit.

Paul Fertser ([email protected]) just uploaded a new patch set to Gerrit, 
which you can find at http://openocd.zylin.com/4383

-- gerrit

commit a0c9b75fac9e7fb9b68e064804c365afa497359b
Author: Paul Fertser <[email protected]>
Date:   Tue Jan 30 12:17:33 2018 +0300

    flash: nor: jtagspi: make read_status report errors
    
    This is a follow-up to 3c9bd7c6f30a34e3930e44dd2e8ce5f5a877b4eb.
    
    Change-Id: If430f7fcfbba084d9cd74b32344ad43508a96a77
    Signed-off-by: Paul Fertser <[email protected]>

diff --git a/src/flash/nor/jtagspi.c b/src/flash/nor/jtagspi.c
index a73812d..20abaee 100644
--- a/src/flash/nor/jtagspi.c
+++ b/src/flash/nor/jtagspi.c
@@ -221,13 +221,16 @@ static int jtagspi_probe(struct flash_bank *bank)
        return ERROR_OK;
 }
 
-static void jtagspi_read_status(struct flash_bank *bank, uint32_t *status)
+static int jtagspi_read_status(struct flash_bank *bank, uint32_t *status)
 {
        uint8_t buf;
-       if (jtagspi_cmd(bank, SPIFLASH_READ_STATUS, NULL, &buf, -8) == 
ERROR_OK) {
+       int err = jtagspi_cmd(bank, SPIFLASH_READ_STATUS, NULL, &buf, -8);
+       if (err == ERROR_OK) {
                *status = buf;
                /* LOG_DEBUG("status=0x%08" PRIx32, *status); */
        }
+
+       return err;
 }
 
 static int jtagspi_wait(struct flash_bank *bank, int timeout_ms)
@@ -238,7 +241,11 @@ static int jtagspi_wait(struct flash_bank *bank, int 
timeout_ms)
 
        do {
                dt = timeval_ms() - t0;
-               jtagspi_read_status(bank, &status);
+
+               int retval = jtagspi_read_status(bank, &status);
+               if (retval != ERROR_OK)
+                       return retval;
+
                if ((status & SPIFLASH_BSY_BIT) == 0) {
                        LOG_DEBUG("waited %" PRId64 " ms", dt);
                        return ERROR_OK;
@@ -255,7 +262,11 @@ static int jtagspi_write_enable(struct flash_bank *bank)
        uint32_t status;
 
        jtagspi_cmd(bank, SPIFLASH_WRITE_ENABLE, NULL, NULL, 0);
-       jtagspi_read_status(bank, &status);
+
+       int retval = jtagspi_read_status(bank, &status);
+       if (retval != ERROR_OK)
+               return retval;
+
        if ((status & SPIFLASH_WE_BIT) == 0) {
                LOG_ERROR("Cannot enable write to flash. Status=0x%08" PRIx32, 
status);
                return ERROR_FAIL;

-- 

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to