aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/kref.c2
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 @@
21void kref_init(struct kref *kref) 21void 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/**