|
@@ -133,7 +133,7 @@ static inline void percpu_rwsem_release(struct percpu_rw_semaphore *sem,
|
|
|
lock_release(&sem->rw_sem.dep_map, 1, ip);
|
|
|
#ifdef CONFIG_RWSEM_SPIN_ON_OWNER
|
|
|
if (!read)
|
|
|
- sem->rw_sem.owner = NULL;
|
|
|
+ sem->rw_sem.owner = RWSEM_OWNER_UNKNOWN;
|
|
|
#endif
|
|
|
}
|
|
|
|
|
@@ -141,6 +141,10 @@ static inline void percpu_rwsem_acquire(struct percpu_rw_semaphore *sem,
|
|
|
bool read, unsigned long ip)
|
|
|
{
|
|
|
lock_acquire(&sem->rw_sem.dep_map, 0, 1, read, 1, NULL, ip);
|
|
|
+#ifdef CONFIG_RWSEM_SPIN_ON_OWNER
|
|
|
+ if (!read)
|
|
|
+ sem->rw_sem.owner = current;
|
|
|
+#endif
|
|
|
}
|
|
|
|
|
|
#endif
|