aboutsummaryrefslogtreecommitdiff
path: root/src/target/cortex_m.c
diff options
context:
space:
mode:
authorTomas Vanek <vanekt@fbl.cz>2015-10-01 19:17:41 +0200
committerFreddie Chopin <freddie.chopin@gmail.com>2015-11-03 22:11:50 +0000
commit3f0aef4272131caf7d696f28cf4bea676531734e (patch)
treea0a9dd954e2aa25fa10ab94e41f988568bc00201 /src/target/cortex_m.c
parentcd94cdcd881008f6e5321832964f338b60012eec (diff)
downloadriscv-openocd-3f0aef4272131caf7d696f28cf4bea676531734e.zip
riscv-openocd-3f0aef4272131caf7d696f28cf4bea676531734e.tar.gz
riscv-openocd-3f0aef4272131caf7d696f28cf4bea676531734e.tar.bz2
cortex_m: dwt_num_comp should be set to zero in cortex_m_dwt_free()
A segmentation fault in cortex_m_endreset_event() is sometimes raised with very broken target like Kinetis Kx with erased flash and active WDOG. Debugging revealed that cortex_m->dwt_num_comp is 4 and dwt_list is NULL at cortex_m:290 Change-Id: I229c59d6da13d816df513d1dbb19968e4b5951e2 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/2989 Reviewed-by: Thomas Schmid <thomas@rfranging.com> Tested-by: jenkins Reviewed-by: Paul Fertser <fercerpav@gmail.com>
Diffstat (limited to 'src/target/cortex_m.c')
-rw-r--r--src/target/cortex_m.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/target/cortex_m.c b/src/target/cortex_m.c
index b55de1b..88b226d 100644
--- a/src/target/cortex_m.c
+++ b/src/target/cortex_m.c
@@ -1865,6 +1865,7 @@ static void cortex_m_dwt_free(struct target *target)
free(cm->dwt_comparator_list);
cm->dwt_comparator_list = NULL;
+ cm->dwt_num_comp = 0;
if (cache) {
register_unlink_cache(&target->reg_cache, cache);