diff options
author | Tony Lindgren <tony@atomide.com> | 2021-07-27 11:25:08 +0300 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2021-07-27 11:25:08 +0300 |
commit | 353b7a55dcaf5fb8758e09ebe2ddf5f3adbac7c5 (patch) | |
tree | 081200957b3d8925cbe913020d45a4e3ba61a7a3 /net/tipc/core.c | |
parent | 3ff340e24c9dd5cff9fc07d67914c5adf67f80d6 (diff) | |
parent | c68ef4ad180e09805fa46965d15e1dfadf09ffa5 (diff) |
Merge branch 'fixes-v5.14' into fixes
Diffstat (limited to 'net/tipc/core.c')
-rw-r--r-- | net/tipc/core.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/tipc/core.c b/net/tipc/core.c index 5cc1f0307215..3f4542e0f065 100644 --- a/net/tipc/core.c +++ b/net/tipc/core.c @@ -60,7 +60,7 @@ static int __net_init tipc_init_net(struct net *net) tn->trial_addr = 0; tn->addr_trial_end = 0; tn->capabilities = TIPC_NODE_CAPABILITIES; - INIT_WORK(&tn->final_work.work, tipc_net_finalize_work); + INIT_WORK(&tn->work, tipc_net_finalize_work); memset(tn->node_id, 0, sizeof(tn->node_id)); memset(tn->node_id_string, 0, sizeof(tn->node_id_string)); tn->mon_threshold = TIPC_DEF_MON_THRESHOLD; @@ -110,7 +110,7 @@ static void __net_exit tipc_exit_net(struct net *net) tipc_detach_loopback(net); /* Make sure the tipc_net_finalize_work() finished */ - cancel_work_sync(&tn->final_work.work); + cancel_work_sync(&tn->work); tipc_net_stop(net); tipc_bcast_stop(net); @@ -119,6 +119,8 @@ static void __net_exit tipc_exit_net(struct net *net) #ifdef CONFIG_TIPC_CRYPTO tipc_crypto_stop(&tipc_net(net)->crypto_tx); #endif + while (atomic_read(&tn->wq_count)) + cond_resched(); } static void __net_exit tipc_pernet_pre_exit(struct net *net) |