Only write a new message to the tx mbox queue if slot is available in the tx queue. If queue is full, then do not send new mbox notification.
Reviewed-by: Mathieu Poirier <[email protected]> Signed-off-by: Tanmay Shah <[email protected]> --- drivers/remoteproc/xlnx_r5_remoteproc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/remoteproc/xlnx_r5_remoteproc.c b/drivers/remoteproc/xlnx_r5_remoteproc.c index c685bb5fa62c..0e71edf8174c 100644 --- a/drivers/remoteproc/xlnx_r5_remoteproc.c +++ b/drivers/remoteproc/xlnx_r5_remoteproc.c @@ -381,7 +381,10 @@ static void zynqmp_r5_rproc_kick(struct rproc *rproc, int vqid) int ret; ipi = r5_core->ipi; - if (!ipi) + if (!ipi || !ipi->tx_chan) + return; + + if (mbox_chan_tx_slots_available(ipi->tx_chan) == 0) return; mb_msg = (struct zynqmp_ipi_message *)ipi->tx_mc_buf; base-commit: d4d61a4b0a52e8f3cdb3e1578602850a3452ec3e -- 2.43.0

