diff --git a/lib/locks/bakery/bakery_lock.c b/lib/locks/bakery/bakery_lock.c index 877f5262e9e213cfb4a3c1d867551589dfa52974..7e71dec0f96656869d3b19be516cf5c8dff4fa36 100644 --- a/lib/locks/bakery/bakery_lock.c +++ b/lib/locks/bakery/bakery_lock.c @@ -107,6 +107,7 @@ static unsigned int bakery_get_ticket(bakery_lock_t *bakery, unsigned int me) ++my_ticket; bakery->number[me] = my_ticket; bakery->entering[me] = 0; + dsb(); sev(); return my_ticket; @@ -189,5 +190,6 @@ void bakery_lock_release(bakery_lock_t *bakery) */ bakery->owner = NO_OWNER; bakery->number[me] = 0; + dsb(); sev(); }