OSDN Git Service
(root)
/
uclinux-h8
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
timer: Write timer->flags atomically
[uclinux-h8/linux.git]
/
kernel
/
time
/
timer.c
diff --git
a/kernel/time/timer.c
b/kernel/time/timer.c
index
5e097fa
..
84190f0
100644
(file)
--- a/
kernel/time/timer.c
+++ b/
kernel/time/timer.c
@@
-807,8
+807,8
@@
__mod_timer(struct timer_list *timer, unsigned long expires,
spin_unlock(&base->lock);
base = new_base;
spin_lock(&base->lock);
spin_unlock(&base->lock);
base = new_base;
spin_lock(&base->lock);
- timer->flags &= ~TIMER_BASEMASK;
-
timer->flags |= base->cpu
;
+ WRITE_ONCE(timer->flags,
+
(timer->flags & ~TIMER_BASEMASK) | base->cpu)
;
}
}
}
}