X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=ipc%2Fsem.c;h=bf534c74293e1acf4bfdc9fdc12da007486940af;hb=a39b7ba35d78b19b90c640a9fa06a8407e40e85d;hp=e0ec239680cbd40f79895c260867438f8863e4d7;hpb=85bbba1c077848e76ab77682e9e56c41113f5770;p=linux-2.6-microblaze.git diff --git a/ipc/sem.c b/ipc/sem.c index e0ec239680cb..bf534c74293e 100644 --- a/ipc/sem.c +++ b/ipc/sem.c @@ -784,12 +784,14 @@ would_block: static inline void wake_up_sem_queue_prepare(struct sem_queue *q, int error, struct wake_q_head *wake_q) { - get_task_struct(q->sleeper); + struct task_struct *sleeper; + + sleeper = get_task_struct(q->sleeper); /* see SEM_BARRIER_2 for purpose/pairing */ smp_store_release(&q->status, error); - wake_q_add_safe(wake_q, q->sleeper); + wake_q_add_safe(wake_q, sleeper); } static void unlink_queue(struct sem_array *sma, struct sem_queue *q)