diff --git a/src/gos/gos_cmsis.c b/src/gos/gos_cmsis.c index ad32d16d..b2f25dd0 100644 --- a/src/gos/gos_cmsis.c +++ b/src/gos/gos_cmsis.c @@ -43,9 +43,9 @@ void gfxSemInit(gfxSem* psem, semcount_t val, semcount_t limit) osSemaphoreDef_t def; def.semaphore = psem->semaphore; - (void)limit; - - psem->id = osSemaphoreCreate(&def, val); + psem->id = osSemaphoreCreate(&def, limit); + while(val--) + osSemaphoreRelease(psem->id); } void gfxSemDestroy(gfxSem* psem)