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

Commit fc747e82 authored by Ian McDonald's avatar Ian McDonald Committed by David S. Miller
Browse files

[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: default avatarDavid S. Miller <davem@davemloft.net>
parent 8394e9b2
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -900,7 +900,7 @@ static u32 ccid3_hc_rx_calc_first_li(struct sock *sk)
static void ccid3_hc_rx_update_li(struct sock *sk, u64 seq_loss, u8 win_loss)
{
	struct ccid3_hc_rx_sock *hcrx = ccid3_hc_rx_sk(sk);
	struct dccp_li_hist_entry *next, *head;
	struct dccp_li_hist_entry *head;
	u64 seq_temp;

	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)
		   &hcrx->ccid3hcrx_li_hist, seq_loss, win_loss))
			return;

		next = (struct dccp_li_hist_entry *)
		   hcrx->ccid3hcrx_li_hist.next;
		next->dccplih_interval = ccid3_hc_rx_calc_first_li(sk);
		head = list_entry(hcrx->ccid3hcrx_li_hist.next,
		   struct dccp_li_hist_entry, dccplih_node);
		head->dccplih_interval = ccid3_hc_rx_calc_first_li(sk);
	} else {
		struct dccp_li_hist_entry *entry;
		struct list_head *tail;

		head = (struct dccp_li_hist_entry *)
		   hcrx->ccid3hcrx_li_hist.next;
		head = list_entry(hcrx->ccid3hcrx_li_hist.next,
		   struct dccp_li_hist_entry, dccplih_node);
		/* FIXME win count check removed as was wrong */
		/* should make this check with receive history */
		/* and compare there as per section 10.2 of RFC4342 */