diff options
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 |
commit | 8249261b88644c4b6809bf01c2285f27c97ff434 (patch) | |
tree | a11a19d3c5a285a124def52316b974425794cbdf /src | |
parent | a2d5b0ef77944f2bca5aaf8615e61bdc70ff8c6a (diff) | |
download | openocd_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.c | 12 |
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); |