aboutsummaryrefslogtreecommitdiffstats
path: root/net/dccp/ccids
diff options
context:
space:
mode:
Diffstat (limited to 'net/dccp/ccids')
-rw-r--r--net/dccp/ccids/ccid2.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/net/dccp/ccids/ccid2.c b/net/dccp/ccids/ccid2.c
index f56ab68a4b78..813d5cd40e8b 100644
--- a/net/dccp/ccids/ccid2.c
+++ b/net/dccp/ccids/ccid2.c
@@ -580,8 +580,7 @@ static void ccid2_hc_tx_packet_recv(struct sock *sk, struct sk_buff *skb)
580 &vector, &veclen)) != -1) { 580 &vector, &veclen)) != -1) {
581 /* go through this ack vector */ 581 /* go through this ack vector */
582 while (veclen--) { 582 while (veclen--) {
583 const u8 rl = *vector & DCCP_ACKVEC_LEN_MASK; 583 u64 ackno_end_rl = SUB48(ackno, dccp_ackvec_runlen(vector));
584 u64 ackno_end_rl = SUB48(ackno, rl);
585 584
586 ccid2_pr_debug("ackvec start:%llu end:%llu\n", 585 ccid2_pr_debug("ackvec start:%llu end:%llu\n",
587 (unsigned long long)ackno, 586 (unsigned long long)ackno,
@@ -604,17 +603,15 @@ static void ccid2_hc_tx_packet_recv(struct sock *sk, struct sk_buff *skb)
604 * run length 603 * run length
605 */ 604 */
606 while (between48(seqp->ccid2s_seq,ackno_end_rl,ackno)) { 605 while (between48(seqp->ccid2s_seq,ackno_end_rl,ackno)) {
607 const u8 state = *vector & 606 const u8 state = dccp_ackvec_state(vector);
608 DCCP_ACKVEC_STATE_MASK;
609 607
610 /* new packet received or marked */ 608 /* new packet received or marked */
611 if (state != DCCP_ACKVEC_STATE_NOT_RECEIVED && 609 if (state != DCCPAV_NOT_RECEIVED &&
612 !seqp->ccid2s_acked) { 610 !seqp->ccid2s_acked) {
613 if (state == 611 if (state == DCCPAV_ECN_MARKED)
614 DCCP_ACKVEC_STATE_ECN_MARKED) {
615 ccid2_congestion_event(sk, 612 ccid2_congestion_event(sk,
616 seqp); 613 seqp);
617 } else 614 else
618 ccid2_new_ack(sk, seqp, 615 ccid2_new_ack(sk, seqp,
619 &maxincr); 616 &maxincr);
620 617