summaryrefslogtreecommitdiff
path: root/firmware/kernel/thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/kernel/thread.c')
-rw-r--r--firmware/kernel/thread.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/firmware/kernel/thread.c b/firmware/kernel/thread.c
index 0a47f97e93..9855cc3c84 100644
--- a/firmware/kernel/thread.c
+++ b/firmware/kernel/thread.c
@@ -1527,10 +1527,8 @@ void block_thread(struct thread_entry *current, int timeout)
1527 * INTERNAL: Intended for use by kernel objects and not for programs. 1527 * INTERNAL: Intended for use by kernel objects and not for programs.
1528 *--------------------------------------------------------------------------- 1528 *---------------------------------------------------------------------------
1529 */ 1529 */
1530unsigned int thread_queue_wake(struct thread_entry **list, 1530unsigned int thread_queue_wake(struct thread_entry **list)
1531 volatile int *count)
1532{ 1531{
1533 int num = 0;
1534 unsigned result = THREAD_NONE; 1532 unsigned result = THREAD_NONE;
1535 1533
1536 for (;;) 1534 for (;;)
@@ -1541,12 +1539,8 @@ unsigned int thread_queue_wake(struct thread_entry **list,
1541 break; /* No more threads */ 1539 break; /* No more threads */
1542 1540
1543 result |= rc; 1541 result |= rc;
1544 num++;
1545 } 1542 }
1546 1543
1547 if (count)
1548 *count = num;
1549
1550 return result; 1544 return result;
1551} 1545}
1552 1546
@@ -1821,7 +1815,7 @@ static inline void thread_final_exit(struct thread_entry *current)
1821 * execution except the slot itself. */ 1815 * execution except the slot itself. */
1822 1816
1823 /* Signal this thread */ 1817 /* Signal this thread */
1824 thread_queue_wake(&current->queue, NULL); 1818 thread_queue_wake(&current->queue);
1825 corelock_unlock(&current->waiter_cl); 1819 corelock_unlock(&current->waiter_cl);
1826 switch_thread(); 1820 switch_thread();
1827 /* This should never and must never be reached - if it is, the 1821 /* This should never and must never be reached - if it is, the