diff options
author | Ian McDonald <ian.mcdonald@jandi.co.nz> | 2006-08-29 20:50:19 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-09-22 18:18:33 -0400 |
commit | fc747e82b40ea50a62eb2aef55bedd4465607cb0 (patch) | |
tree | 31b98872a3dfe8f71740c7047ea5bd09c966e054 | |
parent | 8394e9b2faf539f82470b36c86f0485cab5278bd (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>
-rw-r--r-- | net/dccp/ccids/ccid3.c | 12 |
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: | |||
900 | static void ccid3_hc_rx_update_li(struct sock *sk, u64 seq_loss, u8 win_loss) | 900 | static 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 */ |