wait_event_hrtimeout — sleep until a condition gets true or a timeout elapses
|  wait_event_hrtimeout ( | wq, | 
| condition, | |
| timeout ); | 
wqthe waitqueue to wait on
conditiona C expression for the event to wait for
timeouttimeout, as a ktime_t
   The process is put to sleep (TASK_UNINTERRUPTIBLE) until the
   condition evaluates to true or a signal is received.
   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.
   
   The function returns 0 if condition became true, or -ETIME if the timeout
   elapsed.