Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41144701 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo Committed by David S. Miller
Browse files

[DCCP] CCID: Allow ccid_{init,exit} to be NULL



Testing if the ccid being instantiated has these methods in
ccid_init().

Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 02bcf28c
Loading
Loading
Loading
Loading
+1 −4
Original line number Original line Diff line number Diff line
@@ -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();
+0 −11
Original line number Original line Diff line number Diff line
@@ -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,