diff --git a/drivers/mbox/mbox_nxp_imx_mu.c b/drivers/mbox/mbox_nxp_imx_mu.c index 8b5dfd3b738..d7e57fe8315 100644 --- a/drivers/mbox/mbox_nxp_imx_mu.c +++ b/drivers/mbox/mbox_nxp_imx_mu.c @@ -61,7 +61,12 @@ static int nxp_imx_mu_send(const struct device *dev, uint32_t channel, const str /* Signalling mode. */ if (msg == NULL) { - return MU_TriggerInterrupts(cfg->base, g_gen_int_trig_mask[channel]); + if (MU_TriggerInterrupts(cfg->base, g_gen_int_trig_mask[channel]) != + kStatus_Success) { + /* interrupt already pending, cannot trigger again */ + return -EAGAIN; + } + return 0; } /* Data transfer mode. */