diff options
author | drath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2007-04-25 20:15:59 +0000 |
---|---|---|
committer | drath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2007-04-25 20:15:59 +0000 |
commit | 22bc5194ae101282cf5c30d681d7f4720bec2534 (patch) | |
tree | 9269026fda66ddf15fdfaeaf8acd8433767ea82e /src/jtag/amt_jtagaccel.c | |
parent | 04dc98916d9acb57e0f5595534151a24ba4dc684 (diff) |
- added support for error handlers to JTAG scan commands (jtag_[plain_][ir|dr]_scan)
- catch apparently broken JTAG IR scan after ARM926EJ-S CP15 operations
- added "arm7_9 dump_etb" command
git-svn-id: svn://svn.berlios.de/openocd/trunk@142 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/jtag/amt_jtagaccel.c')
-rw-r--r-- | src/jtag/amt_jtagaccel.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/jtag/amt_jtagaccel.c b/src/jtag/amt_jtagaccel.c index ac263520..0eed9460 100644 --- a/src/jtag/amt_jtagaccel.c +++ b/src/jtag/amt_jtagaccel.c @@ -331,6 +331,12 @@ int amt_jtagaccel_execute_queue(void) int scan_size; enum scan_type type; u8 *buffer; + int retval; + + /* return ERROR_OK, unless a jtag_read_buffer returns a failed check + * that wasn't handled by a caller-provided error handler + */ + retval = ERROR_OK; while (cmd) { @@ -379,7 +385,7 @@ int amt_jtagaccel_execute_queue(void) type = jtag_scan_type(cmd->cmd.scan); amt_jtagaccel_scan(cmd->cmd.scan->ir_scan, type, buffer, scan_size); if (jtag_read_buffer(buffer, cmd->cmd.scan) != ERROR_OK) - return ERROR_JTAG_QUEUE_FAILED; + retval = ERROR_JTAG_QUEUE_FAILED; if (buffer) free(buffer); break; @@ -396,7 +402,7 @@ int amt_jtagaccel_execute_queue(void) cmd = cmd->next; } - return ERROR_OK; + return retval; } #if PARPORT_USE_GIVEIO == 1 |