Interestingly, when we replace rpmsg_send by rpmsg_trysend + busywait loop, this
mutual stall doesn't happen at all.
What do you mean by busywait? Do you add a delay between 2 rpmsg_trysend()
calls? If yes, you probably add delay that avoid the issue.
That said rpmsg_trysend is recommended for baremetal to avoid to block the system.
to avoid misunderstanding here: replacing `rpmsg_send` by a
`rpmsg_trysend` / `usleep` loop on the *linux* side works around the
issue (i.e. in our own small module and in rpmsg_char).