diff options
-rw-r--r-- | net/rxrpc/input.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/rxrpc/input.c b/net/rxrpc/input.c index 1461d30583c9..21746f0f7ae0 100644 --- a/net/rxrpc/input.c +++ b/net/rxrpc/input.c | |||
@@ -57,7 +57,7 @@ static void rxrpc_congestion_management(struct rxrpc_call *call, | |||
57 | call->cong_ssthresh = max_t(unsigned int, | 57 | call->cong_ssthresh = max_t(unsigned int, |
58 | summary->flight_size / 2, 2); | 58 | summary->flight_size / 2, 2); |
59 | cwnd = 1; | 59 | cwnd = 1; |
60 | if (cwnd > call->cong_ssthresh && | 60 | if (cwnd >= call->cong_ssthresh && |
61 | call->cong_mode == RXRPC_CALL_SLOW_START) { | 61 | call->cong_mode == RXRPC_CALL_SLOW_START) { |
62 | call->cong_mode = RXRPC_CALL_CONGEST_AVOIDANCE; | 62 | call->cong_mode = RXRPC_CALL_CONGEST_AVOIDANCE; |
63 | call->cong_tstamp = skb->tstamp; | 63 | call->cong_tstamp = skb->tstamp; |
@@ -82,7 +82,7 @@ static void rxrpc_congestion_management(struct rxrpc_call *call, | |||
82 | goto packet_loss_detected; | 82 | goto packet_loss_detected; |
83 | if (summary->cumulative_acks > 0) | 83 | if (summary->cumulative_acks > 0) |
84 | cwnd += 1; | 84 | cwnd += 1; |
85 | if (cwnd > call->cong_ssthresh) { | 85 | if (cwnd >= call->cong_ssthresh) { |
86 | call->cong_mode = RXRPC_CALL_CONGEST_AVOIDANCE; | 86 | call->cong_mode = RXRPC_CALL_CONGEST_AVOIDANCE; |
87 | call->cong_tstamp = skb->tstamp; | 87 | call->cong_tstamp = skb->tstamp; |
88 | } | 88 | } |
@@ -161,7 +161,7 @@ resume_normality: | |||
161 | call->cong_dup_acks = 0; | 161 | call->cong_dup_acks = 0; |
162 | call->cong_extra = 0; | 162 | call->cong_extra = 0; |
163 | call->cong_tstamp = skb->tstamp; | 163 | call->cong_tstamp = skb->tstamp; |
164 | if (cwnd <= call->cong_ssthresh) | 164 | if (cwnd < call->cong_ssthresh) |
165 | call->cong_mode = RXRPC_CALL_SLOW_START; | 165 | call->cong_mode = RXRPC_CALL_SLOW_START; |
166 | else | 166 | else |
167 | call->cong_mode = RXRPC_CALL_CONGEST_AVOIDANCE; | 167 | call->cong_mode = RXRPC_CALL_CONGEST_AVOIDANCE; |