summaryrefslogtreecommitdiff
path: root/kernel/timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/timer.c')
-rw-r--r--kernel/timer.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/kernel/timer.c b/kernel/timer.c
index b016c04ed33a..c6ae5f1707a2 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -649,6 +649,17 @@ void init_timer_key(struct timer_list *timer, unsigned int flags,
}
EXPORT_SYMBOL(init_timer_key);
+static void timer_wakeup(unsigned long *data)
+{
+ struct timer_sleeper *t = (void *) data;
+ struct task_struct *task = t->task;
+
+ t->task = NULL;
+ if (task)
+ wake_up_process(task);
+}
+EXPORT_SYMBOL_GPL(timer_wakeup);
+
static inline void detach_timer(struct timer_list *timer, bool clear_pending)
{
struct list_head *entry = &timer->entry;