diff options
author | David S. Miller <davem@davemloft.net> | 2014-06-27 12:51:00 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-06-27 12:51:00 -0700 |
commit | 0ff9275a4b1d6b1b0439a79c9cf7c03b38dbe24d (patch) | |
tree | d8d74d0ae3e05b1228498f5db04ff88a66b03035 /net/tipc/node_subscr.c | |
parent | f5b265039f1381ec048a4d61d47130f71abb119b (diff) | |
parent | 60120526c26f42fd658e32bf4a6d548483d09da8 (diff) | |
download | linux-0ff9275a4b1d6b1b0439a79c9cf7c03b38dbe24d.tar.gz linux-0ff9275a4b1d6b1b0439a79c9cf7c03b38dbe24d.tar.xz |
Merge branch 'tipc-next'
Jon Maloy says:
====================
tipc: new unicast transmission code
As a step towards making the data transmission code more maintainable
and performant, we introduce a number of new functions, both for
building, sending and rejecting messages. The new functions will
eventually be used for alla data transmission, user data unicast,
service internal messaging, and multicast/broadcast.
We start with this series, where we introduce the functions, and
let user data unicast and the internal connection protocol use them.
The remaining users will come in a later series.
There are only minor changes to data structures, and no protocol
changes, so the older functions can still be used in parallel for
some time. Until the old functions are removed, we use temporary
names for the new functions, such as tipc_build_msg2, tipc_link_xmit2.
It should be noted that the first two commits are unrelated to the
rest of the series.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/node_subscr.c')
-rw-r--r-- | net/tipc/node_subscr.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/tipc/node_subscr.c b/net/tipc/node_subscr.c index 7c59ab1d6ecb..2d13eea8574a 100644 --- a/net/tipc/node_subscr.c +++ b/net/tipc/node_subscr.c @@ -84,11 +84,13 @@ void tipc_nodesub_unsubscribe(struct tipc_node_subscr *node_sub) void tipc_nodesub_notify(struct list_head *nsub_list) { struct tipc_node_subscr *ns, *safe; + net_ev_handler handle_node_down; list_for_each_entry_safe(ns, safe, nsub_list, nodesub_list) { - if (ns->handle_node_down) { - ns->handle_node_down(ns->usr_handle); + handle_node_down = ns->handle_node_down; + if (handle_node_down) { ns->handle_node_down = NULL; + handle_node_down(ns->usr_handle); } } } |