xref: /openbmc/linux/net/dccp/ccids/lib/tfrc.c (revision ecba1060)
1 /*
2  * TFRC library initialisation
3  *
4  * Copyright (c) 2007 The University of Aberdeen, Scotland, UK
5  * Copyright (c) 2007 Arnaldo Carvalho de Melo <acme@redhat.com>
6  */
7 #include "tfrc.h"
8 
9 #ifdef CONFIG_IP_DCCP_TFRC_DEBUG
10 int tfrc_debug;
11 module_param(tfrc_debug, bool, 0644);
12 MODULE_PARM_DESC(tfrc_debug, "Enable TFRC debug messages");
13 #endif
14 
15 int __init tfrc_lib_init(void)
16 {
17 	int rc = tfrc_li_init();
18 
19 	if (rc)
20 		goto out;
21 
22 	rc = tfrc_tx_packet_history_init();
23 	if (rc)
24 		goto out_free_loss_intervals;
25 
26 	rc = tfrc_rx_packet_history_init();
27 	if (rc)
28 		goto out_free_tx_history;
29 	return 0;
30 
31 out_free_tx_history:
32 	tfrc_tx_packet_history_exit();
33 out_free_loss_intervals:
34 	tfrc_li_exit();
35 out:
36 	return rc;
37 }
38 
39 void tfrc_lib_exit(void)
40 {
41 	tfrc_rx_packet_history_exit();
42 	tfrc_tx_packet_history_exit();
43 	tfrc_li_exit();
44 }
45