Merge ../from-linus
This commit is contained in:
commit
13779c7391
2 changed files with 11 additions and 5 deletions
|
@ -784,7 +784,7 @@ DVB SUBSYSTEM AND DRIVERS
|
|||
P: LinuxTV.org Project
|
||||
M: linux-dvb-maintainer@linuxtv.org
|
||||
L: linux-dvb@linuxtv.org (subscription required)
|
||||
W: http://linuxtv.org/developer/dvb.xml
|
||||
W: http://linuxtv.org/
|
||||
S: Supported
|
||||
|
||||
EATA-DMA SCSI DRIVER
|
||||
|
|
|
@ -1370,15 +1370,21 @@ int tcp_retransmit_skb(struct sock *sk, struct sk_buff *skb)
|
|||
|
||||
if (skb->len > cur_mss) {
|
||||
int old_factor = tcp_skb_pcount(skb);
|
||||
int new_factor;
|
||||
int diff;
|
||||
|
||||
if (tcp_fragment(sk, skb, cur_mss, cur_mss))
|
||||
return -ENOMEM; /* We'll try again later. */
|
||||
|
||||
/* New SKB created, account for it. */
|
||||
new_factor = tcp_skb_pcount(skb);
|
||||
tp->packets_out -= old_factor - new_factor;
|
||||
tp->packets_out += tcp_skb_pcount(skb->next);
|
||||
diff = old_factor - tcp_skb_pcount(skb) -
|
||||
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. */
|
||||
|
|
Loading…
Reference in a new issue