Platform: i.MX8MP EVK
L6.6.52 , SDK2.16
The rpmsg_lite_pingpong_rtos demo in SDK will complete 100 times ping-pong and then destory the rpmsg connection and related resources.
For Linux kernel, there is no such rpmsg api to finish similiar thing, which will case imx-rproc imx8mp-cm7: imx_rproc_kick: failed (0, err:-62) , this error indicates that the remoteproc is still try to kick up M7 after rpmsg_lite_pingpong_rtos destory the rpmsg resources.
Here is a simple workaround for this error.
1. drivers/rpmsg/imx_rpmsg_pingpong.c
Destory ept when saying goodbye.
2.drivers/rpmsg/virtio_rpmsg_bus.c
Disable virtuequeue callback(->imx_rproc_kick) in _rpmsg_destory_ept.
Result:
No imx-rproc imx8mp-cm7: imx_rproc_kick: failed (0, err:-62) after 100 times ping-pong