wait_event_lock_irq_cmd — sleep until a condition gets true. The condition is checked under the lock. This is expected to be called with the lock taken.
wait_event_lock_irq_cmd ( | wq, |
| condition, | |
| lock, | |
cmd); |
wqthe waitqueue to wait on
conditiona C expression for the event to wait for
lock
a locked spinlock_t, which will be released before cmd
and schedule and reacquired afterwards.
cmda command which is invoked outside the critical section before sleep
The process is put to sleep (TASK_UNINTERRUPTIBLE) until the
condition evaluates to true. The condition is checked each time
the waitqueue wq is woken up.
wake_up has to be called after changing any variable that could
change the result of the wait condition.
This is supposed to be called while holding the lock. The lock is dropped before invoking the cmd and going to sleep and is reacquired afterwards.