diff options
Diffstat (limited to 'net/dccp/input.c')
-rw-r--r-- | net/dccp/input.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/net/dccp/input.c b/net/dccp/input.c index ce8396b126d2..5847cf454e26 100644 --- a/net/dccp/input.c +++ b/net/dccp/input.c | |||
@@ -314,7 +314,19 @@ static int dccp_rcv_request_sent_state_process(struct sock *sk, | |||
314 | } | 314 | } |
315 | 315 | ||
316 | dp->dccps_isr = DCCP_SKB_CB(skb)->dccpd_seq; | 316 | dp->dccps_isr = DCCP_SKB_CB(skb)->dccpd_seq; |
317 | dccp_update_gsr(sk, DCCP_SKB_CB(skb)->dccpd_seq); | 317 | dccp_update_gsr(sk, dp->dccps_isr); |
318 | /* | ||
319 | * SWL and AWL are initially adjusted so that they are not less than | ||
320 | * the initial Sequence Numbers received and sent, respectively: | ||
321 | * SWL := max(GSR + 1 - floor(W/4), ISR), | ||
322 | * AWL := max(GSS - W' + 1, ISS). | ||
323 | * These adjustments MUST be applied only at the beginning of the | ||
324 | * connection. | ||
325 | * | ||
326 | * AWL was adjusted in dccp_v4_connect -acme | ||
327 | */ | ||
328 | dccp_set_seqno(&dp->dccps_swl, | ||
329 | max48(dp->dccps_swl, dp->dccps_isr)); | ||
318 | 330 | ||
319 | if (ccid_hc_rx_init(dp->dccps_hc_rx_ccid, sk) != 0 || | 331 | if (ccid_hc_rx_init(dp->dccps_hc_rx_ccid, sk) != 0 || |
320 | ccid_hc_tx_init(dp->dccps_hc_tx_ccid, sk) != 0) { | 332 | ccid_hc_tx_init(dp->dccps_hc_tx_ccid, sk) != 0) { |