mirror of https://github.com/OpenIPC/firmware.git
28 lines
1.2 KiB
Diff
28 lines
1.2 KiB
Diff
diff -drupN a/net/ipv4/tcp_rate.c b/net/ipv4/tcp_rate.c
|
|
--- a/net/ipv4/tcp_rate.c 2018-08-06 17:23:04.000000000 +0300
|
|
+++ b/net/ipv4/tcp_rate.c 2022-06-12 05:28:14.000000000 +0300
|
|
@@ -106,7 +106,7 @@ void tcp_rate_skb_delivered(struct sock
|
|
|
|
/* Update the connection delivery information and generate a rate sample. */
|
|
void tcp_rate_gen(struct sock *sk, u32 delivered, u32 lost,
|
|
- bool is_sack_reneg, struct skb_mstamp *now, struct rate_sample *rs)
|
|
+ struct skb_mstamp *now, struct rate_sample *rs)
|
|
{
|
|
struct tcp_sock *tp = tcp_sk(sk);
|
|
u32 snd_us, ack_us;
|
|
@@ -124,12 +124,8 @@ void tcp_rate_gen(struct sock *sk, u32 d
|
|
|
|
rs->acked_sacked = delivered; /* freshly ACKed or SACKed */
|
|
rs->losses = lost; /* freshly marked lost */
|
|
- /* Return an invalid sample if no timing information is available or
|
|
- * in recovery from loss with SACK reneging. Rate samples taken during
|
|
- * a SACK reneging event may overestimate bw by including packets that
|
|
- * were SACKed before the reneg.
|
|
- */
|
|
- if (!rs->prior_mstamp.v64 || is_sack_reneg) {
|
|
+ /* Return an invalid sample if no timing information is available. */
|
|
+ if (!rs->prior_mstamp.v64) {
|
|
rs->delivered = -1;
|
|
rs->interval_us = -1;
|
|
return;
|