diff options
Diffstat (limited to 'firmware/kernel/mrsw_lock.c')
-rw-r--r-- | firmware/kernel/mrsw_lock.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/firmware/kernel/mrsw_lock.c b/firmware/kernel/mrsw_lock.c index 42f43caec3..46ab893622 100644 --- a/firmware/kernel/mrsw_lock.c +++ b/firmware/kernel/mrsw_lock.c | |||
@@ -124,8 +124,15 @@ static FORCE_INLINE unsigned int | |||
124 | mrsw_writer_wakeup_readers(struct mrsw_lock *mrsw) | 124 | mrsw_writer_wakeup_readers(struct mrsw_lock *mrsw) |
125 | { | 125 | { |
126 | mrsw->splay.blocker.thread = NULL; | 126 | mrsw->splay.blocker.thread = NULL; |
127 | for (int count = 0; mrsw->queue && mrsw->queue->retval != 0; count++) | 127 | int count = 0; |
128 | |||
129 | while (mrsw->queue && mrsw->queue->retval != 0) | ||
130 | { | ||
128 | wakeup_thread(&mrsw->queue); | 131 | wakeup_thread(&mrsw->queue); |
132 | count++; | ||
133 | } | ||
134 | |||
135 | mrsw->count = count; | ||
129 | return THREAD_OK; | 136 | return THREAD_OK; |
130 | } | 137 | } |
131 | 138 | ||