From 841e852513e1b237e2d6094673e28f348c9b9c8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysztof=20Chru=C5=9Bci=C5=84ski?= Date: Mon, 24 Feb 2025 16:29:09 +0100 Subject: [PATCH] drivers: mbox: nrf_vevif_event_tx: Fix errata 16 workaround MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pend until requested event is set before clearing it. Without that check event could be cleared too early and APP core is not waken up. Signed-off-by: Krzysztof Chruściński --- drivers/mbox/mbox_nrf_vevif_event_tx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mbox/mbox_nrf_vevif_event_tx.c b/drivers/mbox/mbox_nrf_vevif_event_tx.c index f7703c8d3b8..38898d37bf7 100644 --- a/drivers/mbox/mbox_nrf_vevif_event_tx.c +++ b/drivers/mbox/mbox_nrf_vevif_event_tx.c @@ -40,7 +40,7 @@ static int vevif_event_tx_send(const struct device *dev, uint32_t id, const stru nrf_vpr_csr_vevif_events_trigger(BIT(id)); #if defined(CONFIG_MBOX_NRF_VEVIF_EVENT_USE_54L_ERRATA_16) - while (!nrf_vpr_csr_vevif_events_get()) { + while (!(nrf_vpr_csr_vevif_events_get() & BIT(id))) { ; } nrf_vpr_csr_vevif_events_set(0);