diff --git a/os/kernel/include/chbsem.h b/os/kernel/include/chbsem.h index 95cd7297b..b64870ec1 100644 --- a/os/kernel/include/chbsem.h +++ b/os/kernel/include/chbsem.h @@ -77,7 +77,7 @@ typedef struct { * @param[in] taken the semaphore initial state */ #define _BSEMAPHORE_DATA(name, taken) \ - {_SEMAPHORE_DATA(name.bs_sem), ((taken) ? 0 : 1)} + {_SEMAPHORE_DATA(name.bs_sem, ((taken) ? 0 : 1))} /** * @brief Static semaphore initializer. diff --git a/readme.txt b/readme.txt index a4a75b94d..2121a490e 100644 --- a/readme.txt +++ b/readme.txt @@ -70,6 +70,7 @@ *** 2.2.1 *** - FIX: Fixed missing e200z test report (bug 3182611). +- FIX: Fixed error in _BSEMAPHORE_DATA macro (bug 3184139). - FIX: Error in MAC driver (bug 3179783). - FIX: Fixed wrong serial driver macros (bug 3173336). diff --git a/test/testsem.c b/test/testsem.c index 0c6d6f6dd..a16787972 100644 --- a/test/testsem.c +++ b/test/testsem.c @@ -257,7 +257,7 @@ static msg_t thread4(void *p) { } static void sem4_execute(void) { - BinarySemaphore bsem; + BSEMAPHORE_DECL(bsem, TRUE); /* Creates a taken binary semaphore.*/ chBSemInit(&bsem, TRUE);