Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-drm-fsl-dcu.git] / net / tipc / node_subscr.c
index cff4068cc755295c8fa2708abb8bdeac93d97d82..8ecbd0fb6103442712626899ee59edc6470ee0e2 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * net/tipc/node_subscr.c: TIPC "node down" subscription handling
- * 
+ *
  * Copyright (c) 1995-2006, Ericsson AB
  * Copyright (c) 2005, Wind River Systems
  * All rights reserved.
  * tipc_nodesub_subscribe - create "node down" subscription for specified node
  */
 
-void tipc_nodesub_subscribe(struct node_subscr *node_sub, u32 addr, 
+void tipc_nodesub_subscribe(struct node_subscr *node_sub, u32 addr,
                       void *usr_handle, net_ev_handler handle_down)
 {
-       node_sub->node = NULL;
-       if (addr == tipc_own_addr)
-               return;
-       if (!tipc_addr_node_valid(addr)) {
-               warn("node_subscr with illegal %x\n", addr);
+       if (addr == tipc_own_addr) {
+               node_sub->node = NULL;
                return;
        }
 
+       node_sub->node = tipc_node_find(addr);
+       if (!node_sub->node) {
+               warn("Node subscription rejected, unknown node 0x%x\n", addr);
+               return;
+       }
        node_sub->handle_node_down = handle_down;
        node_sub->usr_handle = usr_handle;
-       node_sub->node = tipc_node_find(addr);
-       assert(node_sub->node);
+
        tipc_node_lock(node_sub->node);
        list_add_tail(&node_sub->nodesub_list, &node_sub->node->nsub);
        tipc_node_unlock(node_sub->node);