aboutsummaryrefslogtreecommitdiffstats
path: root/net/dccp/ccids/ccid3.c
diff options
context:
space:
mode:
authorIan McDonald <ian.mcdonald@jandi.co.nz>2006-08-29 20:50:19 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2006-09-22 18:18:33 -0400
commitfc747e82b40ea50a62eb2aef55bedd4465607cb0 (patch)
tree31b98872a3dfe8f71740c7047ea5bd09c966e054 /net/dccp/ccids/ccid3.c
parent8394e9b2faf539f82470b36c86f0485cab5278bd (diff)
[DCCP]: Tidyup CCID3 list handling
As Arnaldo Carvalho de Melo points out I should be using list_entry in case the structure changes in future. Current code functions but is reliant on position and requires type cast. Noticed when doing this that I have one more variable than I needed so removing that also. Signed off by: Ian McDonald <ian.mcdonald@jandi.co.nz> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp/ccids/ccid3.c')
-rw-r--r--net/dccp/ccids/ccid3.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/net/dccp/ccids/ccid3.c b/net/dccp/ccids/ccid3.c
index 090bc39e8199..195aa9566228 100644
--- a/net/dccp/ccids/ccid3.c
+++ b/net/dccp/ccids/ccid3.c
@@ -900,7 +900,7 @@ found:
900static void ccid3_hc_rx_update_li(struct sock *sk, u64 seq_loss, u8 win_loss) 900static void ccid3_hc_rx_update_li(struct sock *sk, u64 seq_loss, u8 win_loss)
901{ 901{
902 struct ccid3_hc_rx_sock *hcrx = ccid3_hc_rx_sk(sk); 902 struct ccid3_hc_rx_sock *hcrx = ccid3_hc_rx_sk(sk);
903 struct dccp_li_hist_entry *next, *head; 903 struct dccp_li_hist_entry *head;
904 u64 seq_temp; 904 u64 seq_temp;
905 905
906 if (list_empty(&hcrx->ccid3hcrx_li_hist)) { 906 if (list_empty(&hcrx->ccid3hcrx_li_hist)) {
@@ -908,15 +908,15 @@ static void ccid3_hc_rx_update_li(struct sock *sk, u64 seq_loss, u8 win_loss)
908 &hcrx->ccid3hcrx_li_hist, seq_loss, win_loss)) 908 &hcrx->ccid3hcrx_li_hist, seq_loss, win_loss))
909 return; 909 return;
910 910
911 next = (struct dccp_li_hist_entry *) 911 head = list_entry(hcrx->ccid3hcrx_li_hist.next,
912 hcrx->ccid3hcrx_li_hist.next; 912 struct dccp_li_hist_entry, dccplih_node);
913 next->dccplih_interval = ccid3_hc_rx_calc_first_li(sk); 913 head->dccplih_interval = ccid3_hc_rx_calc_first_li(sk);
914 } else { 914 } else {
915 struct dccp_li_hist_entry *entry; 915 struct dccp_li_hist_entry *entry;
916 struct list_head *tail; 916 struct list_head *tail;
917 917
918 head = (struct dccp_li_hist_entry *) 918 head = list_entry(hcrx->ccid3hcrx_li_hist.next,
919 hcrx->ccid3hcrx_li_hist.next; 919 struct dccp_li_hist_entry, dccplih_node);
920 /* FIXME win count check removed as was wrong */ 920 /* FIXME win count check removed as was wrong */
921 /* should make this check with receive history */ 921 /* should make this check with receive history */
922 /* and compare there as per section 10.2 of RFC4342 */ 922 /* and compare there as per section 10.2 of RFC4342 */