aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc/name_table.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/tipc/name_table.c')
-rw-r--r--net/tipc/name_table.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/tipc/name_table.c b/net/tipc/name_table.c
index 9be6592e4a6f..bd0aac87b41a 100644
--- a/net/tipc/name_table.c
+++ b/net/tipc/name_table.c
@@ -416,6 +416,7 @@ static void tipc_nameseq_subscribe(struct name_seq *nseq,
416 416
417 tipc_subscrp_convert_seq(&s->evt.s.seq, s->swap, &ns); 417 tipc_subscrp_convert_seq(&s->evt.s.seq, s->swap, &ns);
418 418
419 tipc_subscrp_get(s);
419 list_add(&s->nameseq_list, &nseq->subscriptions); 420 list_add(&s->nameseq_list, &nseq->subscriptions);
420 421
421 if (!sseq) 422 if (!sseq)
@@ -787,6 +788,7 @@ void tipc_nametbl_unsubscribe(struct tipc_subscription *s)
787 if (seq != NULL) { 788 if (seq != NULL) {
788 spin_lock_bh(&seq->lock); 789 spin_lock_bh(&seq->lock);
789 list_del_init(&s->nameseq_list); 790 list_del_init(&s->nameseq_list);
791 tipc_subscrp_put(s);
790 if (!seq->first_free && list_empty(&seq->subscriptions)) { 792 if (!seq->first_free && list_empty(&seq->subscriptions)) {
791 hlist_del_init_rcu(&seq->ns_list); 793 hlist_del_init_rcu(&seq->ns_list);
792 kfree(seq->sseqs); 794 kfree(seq->sseqs);