Commit 909620ff authored by Jon Maloy's avatar Jon Maloy Committed by David S. Miller

tipc: use standard write_lock & unlock functions when creating node

In the function tipc_node_create() we protect the peer capability field
by using the node rw_lock. However, we access the lock directly instead
of using the dedicated functions for this, as we do everywhere else in
node.c. This cosmetic spot is fixed here.

Fixes: 40999f11 ("tipc: make link capability update thread safe")
Signed-off-by: default avatarJon Maloy <jon.maloy@ericsson.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9e35552a
...@@ -375,14 +375,15 @@ static struct tipc_node *tipc_node_create(struct net *net, u32 addr, ...@@ -375,14 +375,15 @@ static struct tipc_node *tipc_node_create(struct net *net, u32 addr,
if (n->capabilities == capabilities) if (n->capabilities == capabilities)
goto exit; goto exit;
/* Same node may come back with new capabilities */ /* Same node may come back with new capabilities */
write_lock_bh(&n->lock); tipc_node_write_lock(n);
n->capabilities = capabilities; n->capabilities = capabilities;
for (bearer_id = 0; bearer_id < MAX_BEARERS; bearer_id++) { for (bearer_id = 0; bearer_id < MAX_BEARERS; bearer_id++) {
l = n->links[bearer_id].link; l = n->links[bearer_id].link;
if (l) if (l)
tipc_link_update_caps(l, capabilities); tipc_link_update_caps(l, capabilities);
} }
write_unlock_bh(&n->lock); tipc_node_write_unlock_fast(n);
/* Calculate cluster capabilities */ /* Calculate cluster capabilities */
tn->capabilities = TIPC_NODE_CAPABILITIES; tn->capabilities = TIPC_NODE_CAPABILITIES;
list_for_each_entry_rcu(temp_node, &tn->node_list, list) { list_for_each_entry_rcu(temp_node, &tn->node_list, list) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment