summaryrefslogtreecommitdiff
path: root/net/tipc/subscr.c
diff options
context:
space:
mode:
authorYing Xue <ying.xue@windriver.com>2015-05-04 10:36:45 +0800
committerDavid S. Miller <davem@davemloft.net>2015-05-04 15:04:01 -0400
commit1b764828add9feaa18a8f916a79b954ac8a20a73 (patch)
treef4f6277318d8b6218eb96f723cfc9b35fdb74792 /net/tipc/subscr.c
parent57f1d1868fb5d71a20bfb1bc807274471c2ff459 (diff)
tipc: introduce tipc_subscrb_create routine
Introducing a new function makes the purpose of tipc_subscrb_connect_cb callback routine more clear. Signed-off-by: Ying Xue <ying.xue@windriver.com> Reviewed-by: Jon Maloy <jon.maloy@ericson.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/subscr.c')
-rw-r--r--net/tipc/subscr.c30
1 files changed, 17 insertions, 13 deletions
diff --git a/net/tipc/subscr.c b/net/tipc/subscr.c
index caec0b2b0740..d0dbde420540 100644
--- a/net/tipc/subscr.c
+++ b/net/tipc/subscr.c
@@ -154,6 +154,22 @@ static void tipc_subscrp_delete(struct tipc_subscription *sub)
atomic_dec(&tn->subscription_count);
}
+static struct tipc_subscriber *tipc_subscrb_create(int conid)
+{
+ struct tipc_subscriber *subscriber;
+
+ subscriber = kzalloc(sizeof(*subscriber), GFP_ATOMIC);
+ if (!subscriber) {
+ pr_warn("Subscriber rejected, no memory\n");
+ return NULL;
+ }
+ INIT_LIST_HEAD(&subscriber->subscrp_list);
+ subscriber->conid = conid;
+ spin_lock_init(&subscriber->lock);
+
+ return subscriber;
+}
+
static void tipc_subscrb_delete(struct tipc_subscriber *subscriber)
{
struct tipc_subscription *sub;
@@ -301,19 +317,7 @@ static void tipc_subscrb_rcv_cb(struct net *net, int conid,
/* Handle one request to establish a new subscriber */
static void *tipc_subscrb_connect_cb(int conid)
{
- struct tipc_subscriber *subscriber;
-
- /* Create subscriber object */
- subscriber = kzalloc(sizeof(struct tipc_subscriber), GFP_ATOMIC);
- if (subscriber == NULL) {
- pr_warn("Subscriber rejected, no memory\n");
- return NULL;
- }
- INIT_LIST_HEAD(&subscriber->subscrp_list);
- subscriber->conid = conid;
- spin_lock_init(&subscriber->lock);
-
- return (void *)subscriber;
+ return (void *)tipc_subscrb_create(conid);
}
int tipc_topsrv_start(struct net *net)