summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorØyvind Harboe <oyvind.harboe@zylin.com>2010-09-20 09:40:09 +0200
committerØyvind Harboe <oyvind.harboe@zylin.com>2010-09-21 22:17:38 +0200
commit9aafd42853b4164ea72e6e2f89008ff84b1fac52 (patch)
treee098c79e5555565604256c647c32ea61c2f058f3 /src
parentedefee988045558d5d306453ce352dc06bcb7a03 (diff)
downloadopenocd+libswd-9aafd42853b4164ea72e6e2f89008ff84b1fac52.tar.gz
openocd+libswd-9aafd42853b4164ea72e6e2f89008ff84b1fac52.tar.bz2
openocd+libswd-9aafd42853b4164ea72e6e2f89008ff84b1fac52.tar.xz
openocd+libswd-9aafd42853b4164ea72e6e2f89008ff84b1fac52.zip
embeddedice: fix error handling
error is now reported at failure site. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Diffstat (limited to 'src')
-rw-r--r--src/flash/nor/ocl.c6
-rw-r--r--src/target/embeddedice.c4
2 files changed, 4 insertions, 6 deletions
diff --git a/src/flash/nor/ocl.c b/src/flash/nor/ocl.c
index 9a295eb0..6c609239 100644
--- a/src/flash/nor/ocl.c
+++ b/src/flash/nor/ocl.c
@@ -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;
}
diff --git a/src/target/embeddedice.c b/src/target/embeddedice.c
index abc49d7e..5502ad8a 100644
--- a/src/target/embeddedice.c
+++ b/src/target/embeddedice.c
@@ -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;
}