embeddedice: fix error handling
authorØyvind Harboe <oyvind.harboe@zylin.com>
Mon, 20 Sep 2010 07:40:09 +0000 (09:40 +0200)
committerØyvind Harboe <oyvind.harboe@zylin.com>
Tue, 21 Sep 2010 20:17:38 +0000 (22:17 +0200)
error is now reported at failure site.

Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
src/flash/nor/ocl.c
src/target/embeddedice.c

index 9a295eb..6c60923 100644 (file)
@@ -101,8 +101,6 @@ static int ocl_erase(struct flash_bank *bank, int first, int last)
        /* wait for response, fixed timeout of 1 s */
        if ((retval = embeddedice_handshake(ocl->jtag_info, EICE_COMM_CTRL_WBIT, 1000) != ERROR_OK))
        {
-               if (retval == ERROR_TARGET_TIMEOUT)
-                       LOG_ERROR("loader not responding");
                return retval;
        }
 
@@ -206,8 +204,6 @@ static int ocl_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset,
                /* wait for response, fixed timeout of 1 s */
                if ((retval = embeddedice_handshake(ocl->jtag_info, EICE_COMM_CTRL_WBIT, 1000) != ERROR_OK))
                {
-                       if (retval == ERROR_TARGET_TIMEOUT)
-                               LOG_ERROR("loader not responding");
                        free(dcc_buffer);
                        return retval;
                }
@@ -252,8 +248,6 @@ static int ocl_probe(struct flash_bank *bank)
        /* wait for response, fixed timeout of 1 s */
        if ((retval = embeddedice_handshake(ocl->jtag_info, EICE_COMM_CTRL_WBIT, 1000) != ERROR_OK))
        {
-               if (retval == ERROR_TARGET_TIMEOUT)
-                       LOG_ERROR("loader not responding");
                return retval;
        }
 
index abc49d7..5502ad8 100644 (file)
@@ -588,7 +588,10 @@ int embeddedice_handshake(struct arm_jtag *jtag_info, int hsbit, uint32_t timeou
        else if (hsbit == EICE_COMM_CTRL_RBIT)
                hsact = 0;
        else
+       {
+               LOG_ERROR("Invalid arguments");
                return ERROR_INVALID_ARGUMENTS;
+       }
 
        retval = arm_jtag_scann(jtag_info, 0x2, TAP_IDLE);
        if (retval != ERROR_OK)
@@ -625,6 +628,7 @@ int embeddedice_handshake(struct arm_jtag *jtag_info, int hsbit, uint32_t timeou
        } while ((uint32_t)((now.tv_sec - lap.tv_sec) * 1000
                        + (now.tv_usec - lap.tv_usec) / 1000) <= timeout);
 
+       LOG_ERROR("embeddedice handshake timeout");
        return ERROR_TARGET_TIMEOUT;
 }