From: Arnaldo Carvalho de Melo Date: Tue, 21 Mar 2006 01:20:23 +0000 (-0800) Subject: [DCCP] CCID: Allow ccid_{init,exit} to be NULL X-Git-Tag: v2.6.17-rc1~1175^2~193 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=411447019ab583c659600b0519db5658a2444f11;p=linux-2.6 [DCCP] CCID: Allow ccid_{init,exit} to be NULL Testing if the ccid being instantiated has these methods in ccid_init(). Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller --- diff --git a/net/dccp/ccid.c b/net/dccp/ccid.c index 9d8fc0e289..06b191a574 100644 --- a/net/dccp/ccid.c +++ b/net/dccp/ccid.c @@ -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(); diff --git a/net/dccp/ccids/ccid3.c b/net/dccp/ccids/ccid3.c index 35d1d34754..3c4779fa94 100644 --- a/net/dccp/ccids/ccid3.c +++ b/net/dccp/ccids/ccid3.c @@ -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,