diff options
author | Tomas Vanek <vanekt@fbl.cz> | 2015-10-01 19:17:41 +0200 |
---|---|---|
committer | Freddie Chopin <freddie.chopin@gmail.com> | 2015-11-03 22:11:50 +0000 |
commit | 3f0aef4272131caf7d696f28cf4bea676531734e (patch) | |
tree | a0a9dd954e2aa25fa10ab94e41f988568bc00201 /src/target | |
parent | cd94cdcd881008f6e5321832964f338b60012eec (diff) |
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')
-rw-r--r-- | src/target/cortex_m.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/target/cortex_m.c b/src/target/cortex_m.c index b55de1bc..88b226d8 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); |