|
@@ -2407,8 +2407,8 @@ static int tcp_clean_rtx_queue(struct sock *sk, __s32 *seq_rtt_p)
|
|
struct sk_buff *skb;
|
|
struct sk_buff *skb;
|
|
__u32 now = tcp_time_stamp;
|
|
__u32 now = tcp_time_stamp;
|
|
int acked = 0;
|
|
int acked = 0;
|
|
|
|
+ int prior_packets = tp->packets_out;
|
|
__s32 seq_rtt = -1;
|
|
__s32 seq_rtt = -1;
|
|
- u32 pkts_acked = 0;
|
|
|
|
ktime_t last_ackt = ktime_set(0,0);
|
|
ktime_t last_ackt = ktime_set(0,0);
|
|
|
|
|
|
while ((skb = tcp_write_queue_head(sk)) &&
|
|
while ((skb = tcp_write_queue_head(sk)) &&
|
|
@@ -2437,7 +2437,6 @@ static int tcp_clean_rtx_queue(struct sock *sk, __s32 *seq_rtt_p)
|
|
*/
|
|
*/
|
|
if (!(scb->flags & TCPCB_FLAG_SYN)) {
|
|
if (!(scb->flags & TCPCB_FLAG_SYN)) {
|
|
acked |= FLAG_DATA_ACKED;
|
|
acked |= FLAG_DATA_ACKED;
|
|
- ++pkts_acked;
|
|
|
|
} else {
|
|
} else {
|
|
acked |= FLAG_SYN_ACKED;
|
|
acked |= FLAG_SYN_ACKED;
|
|
tp->retrans_stamp = 0;
|
|
tp->retrans_stamp = 0;
|
|
@@ -2481,6 +2480,7 @@ static int tcp_clean_rtx_queue(struct sock *sk, __s32 *seq_rtt_p)
|
|
}
|
|
}
|
|
|
|
|
|
if (acked&FLAG_ACKED) {
|
|
if (acked&FLAG_ACKED) {
|
|
|
|
+ u32 pkts_acked = prior_packets - tp->packets_out;
|
|
const struct tcp_congestion_ops *ca_ops
|
|
const struct tcp_congestion_ops *ca_ops
|
|
= inet_csk(sk)->icsk_ca_ops;
|
|
= inet_csk(sk)->icsk_ca_ops;
|
|
|
|
|