Skip to content

Commit

Permalink
idc: bugfix - exit code was not passed to the caller
Browse files Browse the repository at this point in the history
When executing a blocking operation on a remote core
it is expected that an exit code of the operation is
passed to the caller as if the operation was on the
same core

In fact, a result of message passing was returned,
so in most cases result was success, no matter what
operation result was

Signed-off-by: Marcin Szkudlinski <[email protected]>
  • Loading branch information
marcinszkudlinski authored and kv2019i committed Nov 2, 2023
1 parent 16975a5 commit f76d982
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/idc/zephyr_idc.c
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,9 @@ int idc_send_msg(struct idc_msg *msg, uint32_t mode)
switch (mode) {
case IDC_BLOCKING:
ret = k_p4wq_wait(work, K_FOREVER);
if (!ret)
/* message was sent and executed successfully, get status code */
ret = idc_msg_status_get(msg->core);
break;
case IDC_POWER_UP:
case IDC_NON_BLOCKING:
Expand Down

0 comments on commit f76d982

Please sign in to comment.