aboutsummaryrefslogtreecommitdiff
path: root/src/target/openrisc
diff options
context:
space:
mode:
authorFranck Jullien <franck.jullien@gmail.com>2013-10-13 08:29:53 +0200
committerSpencer Oliver <spen@spen-soft.co.uk>2013-10-15 20:40:41 +0000
commit49b7f68806c2500c1eab3349e22fe02f7da112ed (patch)
tree091f9223d0cf88516805aae3407ac5586995de30 /src/target/openrisc
parentbb3cd6ec438de16295152c64592408685ef9451f (diff)
downloadriscv-openocd-49b7f68806c2500c1eab3349e22fe02f7da112ed.zip
riscv-openocd-49b7f68806c2500c1eab3349e22fe02f7da112ed.tar.gz
riscv-openocd-49b7f68806c2500c1eab3349e22fe02f7da112ed.tar.bz2
openrisc/du_adv: check or1k_adv_jtag_init return value
Change-Id: I784c16b8137b4269254c86007e6766b1a2297aa2 Signed-off-by: Franck Jullien <franck.jullien@gmail.com> Reviewed-on: http://openocd.zylin.com/1693 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'src/target/openrisc')
-rw-r--r--src/target/openrisc/or1k_du_adv.c70
1 files changed, 49 insertions, 21 deletions
diff --git a/src/target/openrisc/or1k_du_adv.c b/src/target/openrisc/or1k_du_adv.c
index 6d449e8..d0cc7f8 100644
--- a/src/target/openrisc/or1k_du_adv.c
+++ b/src/target/openrisc/or1k_du_adv.c
@@ -711,10 +711,14 @@ retry_full_write:
static int or1k_adv_jtag_read_cpu(struct or1k_jtag *jtag_info,
uint32_t addr, int count, uint32_t *value)
{
- if (!jtag_info->or1k_jtag_inited)
- or1k_adv_jtag_init(jtag_info);
+ int retval;
+ if (!jtag_info->or1k_jtag_inited) {
+ retval = or1k_adv_jtag_init(jtag_info);
+ if (retval != ERROR_OK)
+ return retval;
+ }
- int retval = adbg_select_module(jtag_info, DC_CPU0);
+ retval = adbg_select_module(jtag_info, DC_CPU0);
if (retval != ERROR_OK)
return retval;
@@ -724,10 +728,14 @@ static int or1k_adv_jtag_read_cpu(struct or1k_jtag *jtag_info,
static int or1k_adv_jtag_write_cpu(struct or1k_jtag *jtag_info,
uint32_t addr, int count, const uint32_t *value)
{
- if (!jtag_info->or1k_jtag_inited)
- or1k_adv_jtag_init(jtag_info);
+ int retval;
+ if (!jtag_info->or1k_jtag_inited) {
+ retval = or1k_adv_jtag_init(jtag_info);
+ if (retval != ERROR_OK)
+ return retval;
+ }
- int retval = adbg_select_module(jtag_info, DC_CPU0);
+ retval = adbg_select_module(jtag_info, DC_CPU0);
if (retval != ERROR_OK)
return retval;
@@ -736,10 +744,14 @@ static int or1k_adv_jtag_write_cpu(struct or1k_jtag *jtag_info,
static int or1k_adv_cpu_stall(struct or1k_jtag *jtag_info, int action)
{
- if (!jtag_info->or1k_jtag_inited)
- or1k_adv_jtag_init(jtag_info);
+ int retval;
+ if (!jtag_info->or1k_jtag_inited) {
+ retval = or1k_adv_jtag_init(jtag_info);
+ if (retval != ERROR_OK)
+ return retval;
+ }
- int retval = adbg_select_module(jtag_info, DC_CPU0);
+ retval = adbg_select_module(jtag_info, DC_CPU0);
if (retval != ERROR_OK)
return retval;
@@ -762,10 +774,14 @@ static int or1k_adv_cpu_stall(struct or1k_jtag *jtag_info, int action)
static int or1k_adv_is_cpu_running(struct or1k_jtag *jtag_info, int *running)
{
- if (!jtag_info->or1k_jtag_inited)
- or1k_adv_jtag_init(jtag_info);
+ int retval;
+ if (!jtag_info->or1k_jtag_inited) {
+ retval = or1k_adv_jtag_init(jtag_info);
+ if (retval != ERROR_OK)
+ return retval;
+ }
- int retval = adbg_select_module(jtag_info, DC_CPU0);
+ retval = adbg_select_module(jtag_info, DC_CPU0);
if (retval != ERROR_OK)
return retval;
@@ -784,10 +800,14 @@ static int or1k_adv_is_cpu_running(struct or1k_jtag *jtag_info, int *running)
static int or1k_adv_cpu_reset(struct or1k_jtag *jtag_info, int action)
{
- if (!jtag_info->or1k_jtag_inited)
- or1k_adv_jtag_init(jtag_info);
+ int retval;
+ if (!jtag_info->or1k_jtag_inited) {
+ retval = or1k_adv_jtag_init(jtag_info);
+ if (retval != ERROR_OK)
+ return retval;
+ }
- int retval = adbg_select_module(jtag_info, DC_CPU0);
+ retval = adbg_select_module(jtag_info, DC_CPU0);
if (retval != ERROR_OK)
return retval;
@@ -813,10 +833,14 @@ static int or1k_adv_jtag_read_memory(struct or1k_jtag *jtag_info,
{
LOG_DEBUG("Reading WB%d at 0x%08x", size * 8, addr);
- if (!jtag_info->or1k_jtag_inited)
- or1k_adv_jtag_init(jtag_info);
+ int retval;
+ if (!jtag_info->or1k_jtag_inited) {
+ retval = or1k_adv_jtag_init(jtag_info);
+ if (retval != ERROR_OK)
+ return retval;
+ }
- int retval = adbg_select_module(jtag_info, DC_WISHBONE);
+ retval = adbg_select_module(jtag_info, DC_WISHBONE);
if (retval != ERROR_OK)
return retval;
@@ -847,10 +871,14 @@ static int or1k_adv_jtag_write_memory(struct or1k_jtag *jtag_info,
{
LOG_DEBUG("Writing WB%d at 0x%08x", size * 8, addr);
- if (!jtag_info->or1k_jtag_inited)
- or1k_adv_jtag_init(jtag_info);
+ int retval;
+ if (!jtag_info->or1k_jtag_inited) {
+ retval = or1k_adv_jtag_init(jtag_info);
+ if (retval != ERROR_OK)
+ return retval;
+ }
- int retval = adbg_select_module(jtag_info, DC_WISHBONE);
+ retval = adbg_select_module(jtag_info, DC_WISHBONE);
if (retval != ERROR_OK)
return retval;