summaryrefslogtreecommitdiff
path: root/kernel/timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/timer.c')
-rw-r--r--kernel/timer.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/timer.c b/kernel/timer.c
index 176d2c3215b4..1c513bd0b1e0 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -418,8 +418,9 @@ repeat:
data = timer->data;
list_del(&timer->entry);
- timer->base = NULL;
set_running_timer(base, timer);
+ smp_wmb();
+ timer->base = NULL;
spin_unlock_irq(&base->lock);
fn(data);
spin_lock_irq(&base->lock);