summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--zephyr/shim/src/tasks.c10
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 =