aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/w1/w1_family.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/w1/w1_family.c')
-rw-r--r--drivers/w1/w1_family.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/w1/w1_family.c b/drivers/w1/w1_family.c
index 8c35f9ccb689..4a099041f28a 100644
--- a/drivers/w1/w1_family.c
+++ b/drivers/w1/w1_family.c
@@ -48,7 +48,6 @@ int w1_register_family(struct w1_family *newf)
48 48
49 if (!ret) { 49 if (!ret) {
50 atomic_set(&newf->refcnt, 0); 50 atomic_set(&newf->refcnt, 0);
51 newf->need_exit = 0;
52 list_add_tail(&newf->family_entry, &w1_families); 51 list_add_tail(&newf->family_entry, &w1_families);
53 } 52 }
54 spin_unlock(&w1_flock); 53 spin_unlock(&w1_flock);
@@ -73,9 +72,6 @@ void w1_unregister_family(struct w1_family *fent)
73 break; 72 break;
74 } 73 }
75 } 74 }
76
77 fent->need_exit = 1;
78
79 spin_unlock(&w1_flock); 75 spin_unlock(&w1_flock);
80 76
81 /* deatch devices using this family code */ 77 /* deatch devices using this family code */
@@ -113,8 +109,7 @@ struct w1_family * w1_family_registered(u8 fid)
113 109
114static void __w1_family_put(struct w1_family *f) 110static void __w1_family_put(struct w1_family *f)
115{ 111{
116 if (atomic_dec_and_test(&f->refcnt)) 112 atomic_dec(&f->refcnt);
117 f->need_exit = 1;
118} 113}
119 114
120void w1_family_put(struct w1_family *f) 115void w1_family_put(struct w1_family *f)