diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/kref.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/kref.c b/lib/kref.c index 0d07cc31c818..a6dc3ec328e0 100644 --- a/lib/kref.c +++ b/lib/kref.c | |||
@@ -21,6 +21,7 @@ | |||
21 | void kref_init(struct kref *kref) | 21 | void kref_init(struct kref *kref) |
22 | { | 22 | { |
23 | atomic_set(&kref->refcount,1); | 23 | atomic_set(&kref->refcount,1); |
24 | smp_mb(); | ||
24 | } | 25 | } |
25 | 26 | ||
26 | /** | 27 | /** |
@@ -31,6 +32,7 @@ void kref_get(struct kref *kref) | |||
31 | { | 32 | { |
32 | WARN_ON(!atomic_read(&kref->refcount)); | 33 | WARN_ON(!atomic_read(&kref->refcount)); |
33 | atomic_inc(&kref->refcount); | 34 | atomic_inc(&kref->refcount); |
35 | smp_mb__after_atomic_inc(); | ||
34 | } | 36 | } |
35 | 37 | ||
36 | /** | 38 | /** |