diff --git a/drivers/w1/w1_family.c b/drivers/w1/w1_family.c index 8c35f9ccb6897dd96bded60f375cad838536c996..4a099041f28a8a80a73b0d4d63da6be496efbdc8 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) if (!ret) { atomic_set(&newf->refcnt, 0); - newf->need_exit = 0; list_add_tail(&newf->family_entry, &w1_families); } spin_unlock(&w1_flock); @@ -73,9 +72,6 @@ void w1_unregister_family(struct w1_family *fent) break; } } - - fent->need_exit = 1; - spin_unlock(&w1_flock); /* deatch devices using this family code */ @@ -113,8 +109,7 @@ struct w1_family * w1_family_registered(u8 fid) static void __w1_family_put(struct w1_family *f) { - if (atomic_dec_and_test(&f->refcnt)) - f->need_exit = 1; + atomic_dec(&f->refcnt); } void w1_family_put(struct w1_family *f) diff --git a/drivers/w1/w1_family.h b/drivers/w1/w1_family.h index 296a87edd92250b1a78bfa07c607e32e9b4caf54..30531331a643527860415450341a104df40543ab 100644 --- a/drivers/w1/w1_family.h +++ b/drivers/w1/w1_family.h @@ -53,7 +53,6 @@ struct w1_family struct w1_family_ops *fops; atomic_t refcnt; - u8 need_exit; }; extern spinlock_t w1_flock;