From 8104b58dbc55c7300b343231cc5bd430063d5721 Mon Sep 17 00:00:00 2001 From: Matthias Blaicher Date: Sun, 4 Nov 2012 14:56:08 +0100 Subject: [PATCH] rtos: Fix wrong ReadyList lookup in ChibiOS We already have the address of the ReadyList provided by gdb. It is wrong to resolve that address a second time and it only works by accident. Change-Id: I82fa2360931c416290cd7f83e1883f86f90dedc2 Signed-off-by: Matthias Blaicher Reviewed-on: http://openocd.zylin.com/959 Reviewed-by: Joel Bodenmann Tested-by: jenkins Reviewed-by: Spencer Oliver --- src/rtos/ChibiOS.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/rtos/ChibiOS.c b/src/rtos/ChibiOS.c index c838b493..be5fe847 100644 --- a/src/rtos/ChibiOS.c +++ b/src/rtos/ChibiOS.c @@ -268,19 +268,11 @@ static int ChibiOS_update_threads(struct rtos *rtos) /* ChibiOS does not save the current thread count. We have to first * parse the double linked thread list to check for errors and the number of * threads. */ - uint32_t rlist; + const uint32_t rlist = rtos->symbols[ChibiOS_VAL_rlist].address; uint32_t current; uint32_t previous; uint32_t older; - retval = target_read_buffer(rtos->target, - rtos->symbols[ChibiOS_VAL_rlist].address, - param->signature->ch_ptrsize, - (uint8_t *)&rlist); - if (retval != ERROR_OK) { - LOG_ERROR("Could not read ChibiOS ReadyList from target"); - return retval; - } current = rlist; previous = rlist; while (1) { -- 2.39.5