.. | .. |
---|
29 | 29 | { |
---|
30 | 30 | unsigned long flags; |
---|
31 | 31 | |
---|
32 | | - spin_lock_irqsave(&x->wait.lock, flags); |
---|
| 32 | + raw_spin_lock_irqsave(&x->wait.lock, flags); |
---|
33 | 33 | |
---|
34 | 34 | if (x->done != UINT_MAX) |
---|
35 | 35 | x->done++; |
---|
36 | | - __wake_up_locked(&x->wait, TASK_NORMAL, 1); |
---|
37 | | - spin_unlock_irqrestore(&x->wait.lock, flags); |
---|
| 36 | + swake_up_locked(&x->wait); |
---|
| 37 | + raw_spin_unlock_irqrestore(&x->wait.lock, flags); |
---|
38 | 38 | } |
---|
39 | 39 | EXPORT_SYMBOL(complete); |
---|
40 | 40 | |
---|
.. | .. |
---|
58 | 58 | { |
---|
59 | 59 | unsigned long flags; |
---|
60 | 60 | |
---|
61 | | - spin_lock_irqsave(&x->wait.lock, flags); |
---|
| 61 | + raw_spin_lock_irqsave(&x->wait.lock, flags); |
---|
62 | 62 | x->done = UINT_MAX; |
---|
63 | | - __wake_up_locked(&x->wait, TASK_NORMAL, 0); |
---|
64 | | - spin_unlock_irqrestore(&x->wait.lock, flags); |
---|
| 63 | + swake_up_all_locked(&x->wait); |
---|
| 64 | + raw_spin_unlock_irqrestore(&x->wait.lock, flags); |
---|
65 | 65 | } |
---|
66 | 66 | EXPORT_SYMBOL(complete_all); |
---|
67 | 67 | |
---|
.. | .. |
---|
70 | 70 | long (*action)(long), long timeout, int state) |
---|
71 | 71 | { |
---|
72 | 72 | if (!x->done) { |
---|
73 | | - DECLARE_WAITQUEUE(wait, current); |
---|
| 73 | + DECLARE_SWAITQUEUE(wait); |
---|
74 | 74 | |
---|
75 | | - __add_wait_queue_entry_tail_exclusive(&x->wait, &wait); |
---|
76 | 75 | do { |
---|
77 | 76 | if (signal_pending_state(state, current)) { |
---|
78 | 77 | timeout = -ERESTARTSYS; |
---|
79 | 78 | break; |
---|
80 | 79 | } |
---|
| 80 | + __prepare_to_swait(&x->wait, &wait); |
---|
81 | 81 | __set_current_state(state); |
---|
82 | | - spin_unlock_irq(&x->wait.lock); |
---|
| 82 | + raw_spin_unlock_irq(&x->wait.lock); |
---|
83 | 83 | timeout = action(timeout); |
---|
84 | | - spin_lock_irq(&x->wait.lock); |
---|
| 84 | + raw_spin_lock_irq(&x->wait.lock); |
---|
85 | 85 | } while (!x->done && timeout); |
---|
86 | | - __remove_wait_queue(&x->wait, &wait); |
---|
| 86 | + __finish_swait(&x->wait, &wait); |
---|
87 | 87 | if (!x->done) |
---|
88 | 88 | return timeout; |
---|
89 | 89 | } |
---|
.. | .. |
---|
100 | 100 | |
---|
101 | 101 | complete_acquire(x); |
---|
102 | 102 | |
---|
103 | | - spin_lock_irq(&x->wait.lock); |
---|
| 103 | + raw_spin_lock_irq(&x->wait.lock); |
---|
104 | 104 | timeout = do_wait_for_common(x, action, timeout, state); |
---|
105 | | - spin_unlock_irq(&x->wait.lock); |
---|
| 105 | + raw_spin_unlock_irq(&x->wait.lock); |
---|
106 | 106 | |
---|
107 | 107 | complete_release(x); |
---|
108 | 108 | |
---|
.. | .. |
---|
291 | 291 | if (!READ_ONCE(x->done)) |
---|
292 | 292 | return false; |
---|
293 | 293 | |
---|
294 | | - spin_lock_irqsave(&x->wait.lock, flags); |
---|
| 294 | + raw_spin_lock_irqsave(&x->wait.lock, flags); |
---|
295 | 295 | if (!x->done) |
---|
296 | 296 | ret = false; |
---|
297 | 297 | else if (x->done != UINT_MAX) |
---|
298 | 298 | x->done--; |
---|
299 | | - spin_unlock_irqrestore(&x->wait.lock, flags); |
---|
| 299 | + raw_spin_unlock_irqrestore(&x->wait.lock, flags); |
---|
300 | 300 | return ret; |
---|
301 | 301 | } |
---|
302 | 302 | EXPORT_SYMBOL(try_wait_for_completion); |
---|
.. | .. |
---|
322 | 322 | * otherwise we can end up freeing the completion before complete() |
---|
323 | 323 | * is done referencing it. |
---|
324 | 324 | */ |
---|
325 | | - spin_lock_irqsave(&x->wait.lock, flags); |
---|
326 | | - spin_unlock_irqrestore(&x->wait.lock, flags); |
---|
| 325 | + raw_spin_lock_irqsave(&x->wait.lock, flags); |
---|
| 326 | + raw_spin_unlock_irqrestore(&x->wait.lock, flags); |
---|
327 | 327 | return true; |
---|
328 | 328 | } |
---|
329 | 329 | EXPORT_SYMBOL(completion_done); |
---|