[DCCP] CCID: Allow ccid_{init,exit} to be NULL
authorArnaldo Carvalho de Melo <acme@mandriva.com>
Tue, 21 Mar 2006 01:20:23 +0000 (17:20 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 21 Mar 2006 01:20:23 +0000 (17:20 -0800)
Testing if the ccid being instantiated has these methods in
ccid_init().

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/dccp/ccid.c
net/dccp/ccids/ccid3.c

index 9d8fc0e289ea51c5cdecb924e26b2ce4c3d79150..06b191a5740b4713ecb4a942dbad87e4df2b5b52 100644 (file)
@@ -59,9 +59,6 @@ int ccid_register(struct ccid *ccid)
 {
        int err;
 
-       if (ccid->ccid_init == NULL)
-               return -1;
-
        ccids_write_lock();
        err = -EEXIST;
        if (ccids[ccid->ccid_id] == NULL) {
@@ -106,7 +103,7 @@ struct ccid *ccid_init(unsigned char id, struct sock *sk)
        if (!try_module_get(ccid->ccid_owner))
                goto out_err;
 
-       if (ccid->ccid_init(sk) != 0)
+       if (ccid->ccid_init != NULL && ccid->ccid_init(sk) != 0)
                goto out_module_put;
 out:
        ccids_read_unlock();
index 35d1d347541c025cbddd421cabcf6f4cefe36baa..3c4779fa9432a8d057f58ca1511e1db886181f16 100644 (file)
@@ -76,15 +76,6 @@ static struct dccp_tx_hist *ccid3_tx_hist;
 static struct dccp_rx_hist *ccid3_rx_hist;
 static struct dccp_li_hist *ccid3_li_hist;
 
-static int ccid3_init(struct sock *sk)
-{
-       return 0;
-}
-
-static void ccid3_exit(struct sock *sk)
-{
-}
-
 /* TFRC sender states */
 enum ccid3_hc_tx_states {
                TFRC_SSTATE_NO_SENT = 1,
@@ -1182,8 +1173,6 @@ static struct ccid ccid3 = {
        .ccid_id                   = 3,
        .ccid_name                 = "ccid3",
        .ccid_owner                = THIS_MODULE,
-       .ccid_init                 = ccid3_init,
-       .ccid_exit                 = ccid3_exit,
        .ccid_hc_tx_init           = ccid3_hc_tx_init,
        .ccid_hc_tx_exit           = ccid3_hc_tx_exit,
        .ccid_hc_tx_send_packet    = ccid3_hc_tx_send_packet,