diff options
Diffstat (limited to 'lib/rwsem.c')
| -rw-r--r-- | lib/rwsem.c | 14 | 
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/rwsem.c b/lib/rwsem.c index aa7c3052261..410aa1189b1 100644 --- a/lib/rwsem.c +++ b/lib/rwsem.c @@ -22,7 +22,7 @@ void __init_rwsem(struct rw_semaphore *sem, const char *name,  	lockdep_init_map(&sem->dep_map, name, key, 0);  #endif  	sem->count = RWSEM_UNLOCKED_VALUE; -	spin_lock_init(&sem->wait_lock); +	raw_spin_lock_init(&sem->wait_lock);  	INIT_LIST_HEAD(&sem->wait_list);  } @@ -180,7 +180,7 @@ rwsem_down_failed_common(struct rw_semaphore *sem,  	set_task_state(tsk, TASK_UNINTERRUPTIBLE);  	/* set up my own style of waitqueue */ -	spin_lock_irq(&sem->wait_lock); +	raw_spin_lock_irq(&sem->wait_lock);  	waiter.task = tsk;  	waiter.flags = flags;  	get_task_struct(tsk); @@ -204,7 +204,7 @@ rwsem_down_failed_common(struct rw_semaphore *sem,  		 adjustment == -RWSEM_ACTIVE_WRITE_BIAS)  		sem = __rwsem_do_wake(sem, RWSEM_WAKE_READ_OWNED); -	spin_unlock_irq(&sem->wait_lock); +	raw_spin_unlock_irq(&sem->wait_lock);  	/* wait to be given the lock */  	for (;;) { @@ -245,13 +245,13 @@ struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem)  {  	unsigned long flags; -	spin_lock_irqsave(&sem->wait_lock, flags); +	raw_spin_lock_irqsave(&sem->wait_lock, flags);  	/* do nothing if list empty */  	if (!list_empty(&sem->wait_list))  		sem = __rwsem_do_wake(sem, RWSEM_WAKE_ANY); -	spin_unlock_irqrestore(&sem->wait_lock, flags); +	raw_spin_unlock_irqrestore(&sem->wait_lock, flags);  	return sem;  } @@ -265,13 +265,13 @@ struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem)  {  	unsigned long flags; -	spin_lock_irqsave(&sem->wait_lock, flags); +	raw_spin_lock_irqsave(&sem->wait_lock, flags);  	/* do nothing if list empty */  	if (!list_empty(&sem->wait_list))  		sem = __rwsem_do_wake(sem, RWSEM_WAKE_READ_OWNED); -	spin_unlock_irqrestore(&sem->wait_lock, flags); +	raw_spin_unlock_irqrestore(&sem->wait_lock, flags);  	return sem;  }  |