On 12/24/24 03:14, Beleswar Padhi wrote:
/**
@@ -194,8 +196,11 @@ static void k3_r5_rproc_mbox_callback(struct mbox_client *client, void *data)
const char *name = kproc->rproc->name;
u32 msg = omap_mbox_message(data);
- /* Do not forward message from a detached core */
- if (kproc->rproc->state == RPROC_DETACHED)
+ /*
+ * Do not forward messages from a detached core, except when the core
+ * is in the process of being attached in IPC-only mode.
+ */
+ if (!kproc->core->is_attach_ongoing && kproc->rproc->state == RPROC_DETACHED)
return;
Instead of introducing a new state variable, is it possible to use
device virtio status? And i wonder what if you remove this conditional
check altogether? If the device is detached and with no virtio queues,
does not the mailbox message gets dropped?