提交 13779c73 编写于 作者: L Len Brown

Merge ../from-linus

...@@ -784,7 +784,7 @@ DVB SUBSYSTEM AND DRIVERS ...@@ -784,7 +784,7 @@ DVB SUBSYSTEM AND DRIVERS
P: LinuxTV.org Project P: LinuxTV.org Project
M: linux-dvb-maintainer@linuxtv.org M: linux-dvb-maintainer@linuxtv.org
L: linux-dvb@linuxtv.org (subscription required) L: linux-dvb@linuxtv.org (subscription required)
W: http://linuxtv.org/developer/dvb.xml W: http://linuxtv.org/
S: Supported S: Supported
EATA-DMA SCSI DRIVER EATA-DMA SCSI DRIVER
......
...@@ -1370,15 +1370,21 @@ int tcp_retransmit_skb(struct sock *sk, struct sk_buff *skb) ...@@ -1370,15 +1370,21 @@ int tcp_retransmit_skb(struct sock *sk, struct sk_buff *skb)
if (skb->len > cur_mss) { if (skb->len > cur_mss) {
int old_factor = tcp_skb_pcount(skb); int old_factor = tcp_skb_pcount(skb);
int new_factor; int diff;
if (tcp_fragment(sk, skb, cur_mss, cur_mss)) if (tcp_fragment(sk, skb, cur_mss, cur_mss))
return -ENOMEM; /* We'll try again later. */ return -ENOMEM; /* We'll try again later. */
/* New SKB created, account for it. */ /* New SKB created, account for it. */
new_factor = tcp_skb_pcount(skb); diff = old_factor - tcp_skb_pcount(skb) -
tp->packets_out -= old_factor - new_factor; tcp_skb_pcount(skb->next);
tp->packets_out += tcp_skb_pcount(skb->next); tp->packets_out -= diff;
if (diff > 0) {
tp->fackets_out -= diff;
if ((int)tp->fackets_out < 0)
tp->fackets_out = 0;
}
} }
/* Collapse two adjacent packets if worthwhile and we can. */ /* Collapse two adjacent packets if worthwhile and we can. */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册