|
@@ -420,10 +420,10 @@ static void bbr_set_cwnd(struct sock *sk, const struct rate_sample *rs,
|
|
{
|
|
{
|
|
struct tcp_sock *tp = tcp_sk(sk);
|
|
struct tcp_sock *tp = tcp_sk(sk);
|
|
struct bbr *bbr = inet_csk_ca(sk);
|
|
struct bbr *bbr = inet_csk_ca(sk);
|
|
- u32 cwnd = 0, target_cwnd = 0;
|
|
|
|
|
|
+ u32 cwnd = tp->snd_cwnd, target_cwnd = 0;
|
|
|
|
|
|
if (!acked)
|
|
if (!acked)
|
|
- return;
|
|
|
|
|
|
+ goto done; /* no packet fully ACKed; just apply caps */
|
|
|
|
|
|
if (bbr_set_cwnd_to_recover_or_restore(sk, rs, acked, &cwnd))
|
|
if (bbr_set_cwnd_to_recover_or_restore(sk, rs, acked, &cwnd))
|
|
goto done;
|
|
goto done;
|