From 030f51ce818e06cd35f2e5ada0e7cebb98bfe2d5 Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Sat, 16 Aug 2014 06:37:29 -0400 Subject: Oops. Broke an egg. Restore wrongly removed code in mutex.c. Nice colorful diffs reveals some lines that should NOT have been removed when !defined(HAVE_PRIORITY_SCHEDULING) in mutex_unlock. Change-Id: I4152ea864b7706217c670e1b99250b09e69c5858 --- firmware/kernel/mutex.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'firmware/kernel/mutex.c') diff --git a/firmware/kernel/mutex.c b/firmware/kernel/mutex.c index fc49cc6d09..876b704b51 100644 --- a/firmware/kernel/mutex.c +++ b/firmware/kernel/mutex.c @@ -103,6 +103,12 @@ void mutex_unlock(struct mutex *m) } const int oldlevel = disable_irq_save(); + /* Tranfer of owning thread is handled in the wakeup protocol + * if priorities are enabled otherwise just set it from the + * queue head. */ +#ifndef HAVE_PRIORITY_SCHEDULING + m->blocker.thread = thread; +#endif unsigned int result = wakeup_thread(thread, WAKEUP_TRANSFER); restore_irq(oldlevel); -- cgit v1.2.3