From d9d83fd0d928ebffea7af2267745995ef50ec6c2 Mon Sep 17 00:00:00 2001 From: Shahar S Matityahu Date: Thu, 20 Sep 2018 14:28:30 +0300 Subject: backports: add wait_event_killable_timeout backport support Allow using wait_event_killable_timeout function in kernel older then 4.13 Signed-off-by: Shahar S Matityahu Signed-off-by: Luca Coelho Signed-off-by: Johannes Berg --- backport/backport-include/linux/wait.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/backport/backport-include/linux/wait.h b/backport/backport-include/linux/wait.h index c4b1114e..15a674cf 100644 --- a/backport/backport-include/linux/wait.h +++ b/backport/backport-include/linux/wait.h @@ -78,6 +78,21 @@ wait_on_bit_timeout(void *word, int bit, unsigned mode, unsigned long timeout) #if LINUX_VERSION_IS_LESS(4,13,0) #define wait_queue_entry_t wait_queue_t + +#define wait_event_killable_timeout(wq_head, condition, timeout) \ +({ \ + long __ret = timeout; \ + might_sleep(); \ + if (!___wait_cond_timeout(condition)) \ + __ret = __wait_event_killable_timeout(wq_head, \ + condition, timeout); \ + __ret; \ +}) + +#define __wait_event_killable_timeout(wq_head, condition, timeout) \ + ___wait_event(wq_head, ___wait_cond_timeout(condition), \ + TASK_KILLABLE, 0, timeout, \ + __ret = schedule_timeout(__ret)) #endif #endif /* __BACKPORT_LINUX_WAIT_H */ -- cgit v1.2.3