diff options
-rw-r--r-- | zephyr/shim/src/tasks.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/zephyr/shim/src/tasks.c b/zephyr/shim/src/tasks.c index 35d4ab7c42..ba43e8ac66 100644 --- a/zephyr/shim/src/tasks.c +++ b/zephyr/shim/src/tasks.c @@ -105,7 +105,7 @@ atomic_t *task_get_event_bitmap(task_id_t cros_task_id) data = task_get_base_data(cros_task_id); - return &data->event_mask; + return data == NULL ? NULL : &data->event_mask; } void task_set_event(task_id_t cros_task_id, uint32_t event) @@ -114,8 +114,10 @@ void task_set_event(task_id_t cros_task_id, uint32_t event) data = task_get_base_data(cros_task_id); - atomic_or(&data->event_mask, event); - k_poll_signal_raise(&data->new_event, 0); + if (data != NULL) { + atomic_or(&data->event_mask, event); + k_poll_signal_raise(&data->new_event, 0); + } } uint32_t task_wait_event(int timeout_us) @@ -124,6 +126,8 @@ uint32_t task_wait_event(int timeout_us) data = task_get_base_data(task_get_current()); + __ASSERT_NO_MSG(data != NULL); + const k_timeout_t timeout = (timeout_us == -1) ? K_FOREVER : K_USEC(timeout_us); const int64_t tick_deadline = |