soc: nordic: nrf54h: gpd: yield() to not block if main is coop

The main thread, if configured with coop priority (don't do that :D)
breaks gpd since it has a non yielding while loop (also don't do that)

Add an explicit yield() to allow other threads to run if main or other
threads use gpd with coop prio.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
This commit is contained in:
Bjarki Arge Andreasen 2025-01-27 13:19:24 +01:00 committed by Benjamin Cabé
commit 7e0e583f9e

View file

@ -139,6 +139,8 @@ static int nrf_gpd_sync(struct gpd_onoff_manager *gpd_mgr)
if (atomic_test_bit(&gpd_service_status, GPD_SERVICE_REQ_OK)) {
return 0;
}
k_yield();
}
LOG_ERR("nRFs GDPWR request timed out");