summaryrefslogtreecommitdiff
path: root/firmware/kernel/mrsw_lock.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/kernel/mrsw_lock.c')
-rw-r--r--firmware/kernel/mrsw_lock.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/firmware/kernel/mrsw_lock.c b/firmware/kernel/mrsw_lock.c
index b683f63d5f..6120666d05 100644
--- a/firmware/kernel/mrsw_lock.c
+++ b/firmware/kernel/mrsw_lock.c
@@ -159,6 +159,8 @@ void mrsw_init(struct mrsw_lock *mrsw)
159 * access recursively. The current writer is ignored and gets access. */ 159 * access recursively. The current writer is ignored and gets access. */
160void mrsw_read_acquire(struct mrsw_lock *mrsw) 160void mrsw_read_acquire(struct mrsw_lock *mrsw)
161{ 161{
162 ASSERT_CPU_MODE(CPU_MODE_THREAD_CONTEXT);
163
162 struct thread_entry *current = __running_self_entry(); 164 struct thread_entry *current = __running_self_entry();
163 165
164 if (current == mrsw->splay.blocker.thread IF_PRIO( && mrsw->count < 0 )) 166 if (current == mrsw->splay.blocker.thread IF_PRIO( && mrsw->count < 0 ))
@@ -268,6 +270,8 @@ void mrsw_read_release(struct mrsw_lock *mrsw)
268 * safely call recursively. */ 270 * safely call recursively. */
269void mrsw_write_acquire(struct mrsw_lock *mrsw) 271void mrsw_write_acquire(struct mrsw_lock *mrsw)
270{ 272{
273 ASSERT_CPU_MODE(CPU_MODE_THREAD_CONTEXT);
274
271 struct thread_entry *current = __running_self_entry(); 275 struct thread_entry *current = __running_self_entry();
272 276
273 if (current == mrsw->splay.blocker.thread) 277 if (current == mrsw->splay.blocker.thread)