aboutsummaryrefslogtreecommitdiff
path: root/src/target
diff options
context:
space:
mode:
authorOleksij Rempel <linux@rempel-privat.de>2018-01-30 10:37:51 +0100
committerMatthias Welwarsky <matthias@welwarsky.de>2018-02-21 08:19:19 +0000
commite195b0bc812deaad4d770cb1044c5a1b905d8671 (patch)
tree0e6d4c14b4de76034447c118b32c55a2ba34199e /src/target
parent6d390e1b2a393505b38e1d0fcd741cd0b1cf92aa (diff)
armv7a: forward error value in armv7a_cache_auto_flush_all_data
if armv7a_l1_d_cache_clean_inval_all will fail, error value is never forwarded. So make sure we do it from now. Change-Id: I02acfaa938ec09f58df77191d13d8f4bb3308720 Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Reviewed-on: http://openocd.zylin.com/4384 Tested-by: jenkins Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
Diffstat (limited to 'src/target')
-rw-r--r--src/target/armv7a_cache.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/target/armv7a_cache.c b/src/target/armv7a_cache.c
index 7af3e6d4..3e5f8d6d 100644
--- a/src/target/armv7a_cache.c
+++ b/src/target/armv7a_cache.c
@@ -148,10 +148,11 @@ int armv7a_cache_auto_flush_all_data(struct target *target)
} else
retval = armv7a_l1_d_cache_clean_inval_all(target);
- /* do outer cache flushing after inner caches have been flushed */
- retval = arm7a_l2x_flush_all_data(target);
+ if (retval != ERROR_OK)
+ return retval;
- return retval;
+ /* do outer cache flushing after inner caches have been flushed */
+ return arm7a_l2x_flush_all_data(target);
}