diff --git a/kernel/core/include/tos_version.h b/kernel/core/include/tos_version.h index 4520fd5d..2b7d353a 100644 --- a/kernel/core/include/tos_version.h +++ b/kernel/core/include/tos_version.h @@ -25,8 +25,8 @@ #define TOS_VERSION_MAJOR 0x02 #define TOS_VERSION_MINOR 0x04 -#define TOS_VERSION_PATCH 0x04 -#define TOS_VERSION "2.4.4" +#define TOS_VERSION_PATCH 0x05 +#define TOS_VERSION "2.4.5" #endif /* _TOS_VERSION_H_ */ diff --git a/kernel/core/tos_sched.c b/kernel/core/tos_sched.c index 9bb24a7d..b6ea129f 100644 --- a/kernel/core/tos_sched.c +++ b/kernel/core/tos_sched.c @@ -140,6 +140,11 @@ __KNL__ void readyqueue_remove(k_task_t *task) k_prio_t task_prio; k_list_t *task_list; + // protect the idle task. + if (knl_is_idle(task)) { + return; + } + task_prio = task->prio; task_list = &k_rdyq.task_list_head[task_prio];