prepare_to_wait(q, &wait, TASK_UNINTERRUPTIBLE);
prepare_to_wait(q, &wait, TASK_INTERRUPTIBLE);
static inline long cond_wait_interruptible_timeout_irqrestore(	wait_queue_head_t *q, long timeout,	spinlock_t *lock, unsigned long flags ){	DEFINE_WAIT(wait);	prepare_to_wait(q, &wait, TASK_UNINTERRUPTIBLE);	spin_unlock_irqrestore(lock, flags);	timeout = schedule_timeout(timeout);	finish_wait(q, &wait);	return timeout;}