Merge branch 'master' of /home/shaggy/git/linus-clean/
[profile/ivi/kernel-x86-ivi.git] / net / dccp / ccids / lib / tfrc.c
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 }