diff options
author | Len Brown <len.brown@intel.com> | 2005-08-11 17:09:15 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2005-08-11 17:09:15 -0400 |
commit | 13779c739168fdb905fae81287d75a9e632825e3 (patch) | |
tree | 33f9d0eef3179a1e0c324cc93cabffa664953c2d | |
parent | 95f193aa4fe50eb2dc987081d066edd6e13027de (diff) | |
parent | 7d69fa6266770eeb6317eddd46b64456e8a515bf (diff) | |
download | op-kernel-dev-13779c739168fdb905fae81287d75a9e632825e3.zip op-kernel-dev-13779c739168fdb905fae81287d75a9e632825e3.tar.gz |
Merge ../from-linus
-rw-r--r-- | MAINTAINERS | 2 | ||||
-rw-r--r-- | net/ipv4/tcp_output.c | 14 |
2 files changed, 11 insertions, 5 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index 5fd00c0..3b38d6a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -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 diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 7d076f0d..3ed6fc1 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -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. */ |