[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 <acme@mandriva.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
02bcf28c82
commit
411447019a
@@ -59,9 +59,6 @@ int ccid_register(struct ccid *ccid)
|
|||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
if (ccid->ccid_init == NULL)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
ccids_write_lock();
|
ccids_write_lock();
|
||||||
err = -EEXIST;
|
err = -EEXIST;
|
||||||
if (ccids[ccid->ccid_id] == NULL) {
|
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))
|
if (!try_module_get(ccid->ccid_owner))
|
||||||
goto out_err;
|
goto out_err;
|
||||||
|
|
||||||
if (ccid->ccid_init(sk) != 0)
|
if (ccid->ccid_init != NULL && ccid->ccid_init(sk) != 0)
|
||||||
goto out_module_put;
|
goto out_module_put;
|
||||||
out:
|
out:
|
||||||
ccids_read_unlock();
|
ccids_read_unlock();
|
||||||
|
@@ -76,15 +76,6 @@ static struct dccp_tx_hist *ccid3_tx_hist;
|
|||||||
static struct dccp_rx_hist *ccid3_rx_hist;
|
static struct dccp_rx_hist *ccid3_rx_hist;
|
||||||
static struct dccp_li_hist *ccid3_li_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 */
|
/* TFRC sender states */
|
||||||
enum ccid3_hc_tx_states {
|
enum ccid3_hc_tx_states {
|
||||||
TFRC_SSTATE_NO_SENT = 1,
|
TFRC_SSTATE_NO_SENT = 1,
|
||||||
@@ -1182,8 +1173,6 @@ static struct ccid ccid3 = {
|
|||||||
.ccid_id = 3,
|
.ccid_id = 3,
|
||||||
.ccid_name = "ccid3",
|
.ccid_name = "ccid3",
|
||||||
.ccid_owner = THIS_MODULE,
|
.ccid_owner = THIS_MODULE,
|
||||||
.ccid_init = ccid3_init,
|
|
||||||
.ccid_exit = ccid3_exit,
|
|
||||||
.ccid_hc_tx_init = ccid3_hc_tx_init,
|
.ccid_hc_tx_init = ccid3_hc_tx_init,
|
||||||
.ccid_hc_tx_exit = ccid3_hc_tx_exit,
|
.ccid_hc_tx_exit = ccid3_hc_tx_exit,
|
||||||
.ccid_hc_tx_send_packet = ccid3_hc_tx_send_packet,
|
.ccid_hc_tx_send_packet = ccid3_hc_tx_send_packet,
|
||||||
|
Reference in New Issue
Block a user