On Fri, Feb 05, 2021 at 02:57:27PM +0800, Shengjiu Wang wrote: > + /* TYPE C is notification from M core */ > + if (r_msg->header.type == MSG_TYPE_C) { > + if (r_msg->header.cmd == TX_PERIOD_DONE) { > + } else if (r_msg->header.cmd == RX_PERIOD_DONE) { A switch statement would be clearer and more extensible... > + /* TYPE B is response msg */ > + if (r_msg->header.type == MSG_TYPE_B) { > + memcpy(&info->r_msg, r_msg, sizeof(struct rpmsg_r_msg)); > + complete(&info->cmd_complete); > + } ...and make this flow clearer for example. Do we need to warn on unknown messages?