summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorØyvind Harboe <oyvind.harboe@zylin.com>2010-07-18 23:10:50 +0200
committerØyvind Harboe <oyvind.harboe@zylin.com>2010-07-19 08:36:15 +0200
commit8249261b88644c4b6809bf01c2285f27c97ff434 (patch)
treea11a19d3c5a285a124def52316b974425794cbdf /src
parenta2d5b0ef77944f2bca5aaf8615e61bdc70ff8c6a (diff)
downloadopenocd_libswd-8249261b88644c4b6809bf01c2285f27c97ff434.tar.gz
openocd_libswd-8249261b88644c4b6809bf01c2285f27c97ff434.tar.bz2
openocd_libswd-8249261b88644c4b6809bf01c2285f27c97ff434.tar.xz
openocd_libswd-8249261b88644c4b6809bf01c2285f27c97ff434.zip
cortex a8: add missing error handling for cortex_a8_dap_write/read_coreregister_u32()
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Diffstat (limited to 'src')
-rw-r--r--src/target/cortex_a8.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/target/cortex_a8.c b/src/target/cortex_a8.c
index d0922232..0f5c7428 100644
--- a/src/target/cortex_a8.c
+++ b/src/target/cortex_a8.c
@@ -180,8 +180,12 @@ static int cortex_a8_read_regs_through_mem(struct target *target, uint32_t addre
struct armv7a_common *armv7a = target_to_armv7a(target);
struct adiv5_dap *swjdp = &armv7a->dap;
- cortex_a8_dap_read_coreregister_u32(target, regfile, 0);
- cortex_a8_dap_write_coreregister_u32(target, address, 0);
+ retval = cortex_a8_dap_read_coreregister_u32(target, regfile, 0);
+ if (retval != ERROR_OK)
+ return retval;
+ retval = cortex_a8_dap_write_coreregister_u32(target, address, 0);
+ if (retval != ERROR_OK)
+ return retval;
retval = cortex_a8_exec_opcode(target, ARMV4_5_STMIA(0, 0xFFFE, 0, 0), NULL);
if (retval != ERROR_OK)
return retval;
@@ -965,7 +969,9 @@ static int cortex_a8_debug_entry(struct target *target)
target_free_working_area(target, regfile_working_area);
/* read Current PSR */
- cortex_a8_dap_read_coreregister_u32(target, &cpsr, 16);
+ retval = cortex_a8_dap_read_coreregister_u32(target, &cpsr, 16);
+ if (retval != ERROR_OK)
+ return retval;
dap_ap_select(swjdp, swjdp_debugap);
LOG_DEBUG("cpsr: %8.8" PRIx32, cpsr);