From 9b558838b1c457c9e381dafbb667edc97514bc60 Mon Sep 17 00:00:00 2001 From: Evgeniy Naydanov Date: Thu, 3 Aug 2023 17:57:02 +0300 Subject: target/riscv: improve error handling in trigger setup Change-Id: I235973a3c44fb3d934925c74ffee47f8bd96de0d Signed-off-by: Evgeniy Naydanov --- src/target/riscv/riscv.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/target') diff --git a/src/target/riscv/riscv.c b/src/target/riscv/riscv.c index 7962a47..ac9d35b 100644 --- a/src/target/riscv/riscv.c +++ b/src/target/riscv/riscv.c @@ -897,7 +897,7 @@ static int maybe_add_trigger_t2_t6(struct target *target, }; ret = try_setup_single_match_trigger(target, trigger, eq); if (ret != ERROR_OK) - return ERROR_FAIL; + return ret; if (trigger->length > 1) { LOG_TARGET_DEBUG(target, "Trigger will match accesses at address 0x%" TARGET_PRIxADDR @@ -1042,7 +1042,9 @@ static int add_trigger(struct target *target, struct trigger *trigger) break; } while (0); - riscv_set_register(target, GDB_REGNO_TSELECT, tselect); + if (riscv_set_register(target, GDB_REGNO_TSELECT, tselect) != ERROR_OK && + ret == ERROR_OK) + return ERROR_FAIL; return ret; } -- cgit v1.1