diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-03-09 15:21:57 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-03-09 15:21:57 +0100 |
commit | efdcd41b4e41560375bb34ad8b095bcaa1c3a93f (patch) | |
tree | 57200ef68bae530776c0c2621c51e9464e1e72f9 /net/ipv4/tcp_output.c | |
parent | 33dbe6114047496a5b6fee0941c52dad41250043 (diff) | |
parent | 79c7cdd5441f5d3900c1632adcc8cd2bee35c8da (diff) | |
download | kernel-crypto-efdcd41b4e41560375bb34ad8b095bcaa1c3a93f.tar.gz kernel-crypto-efdcd41b4e41560375bb34ad8b095bcaa1c3a93f.tar.xz kernel-crypto-efdcd41b4e41560375bb34ad8b095bcaa1c3a93f.zip |
Merge branch 'topic/vmaster-update' into topic/docbook-fix
Diffstat (limited to 'net/ipv4/tcp_output.c')
-rw-r--r-- | net/ipv4/tcp_output.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 557fe16cbfb..da2c3b8794f 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -663,14 +663,10 @@ static int tcp_transmit_skb(struct sock *sk, struct sk_buff *skb, int clone_it, th->urg_ptr = 0; /* The urg_mode check is necessary during a below snd_una win probe */ - if (unlikely(tcp_urg_mode(tp))) { - if (between(tp->snd_up, tcb->seq + 1, tcb->seq + 0xFFFF)) { - th->urg_ptr = htons(tp->snd_up - tcb->seq); - th->urg = 1; - } else if (after(tcb->seq + 0xFFFF, tp->snd_nxt)) { - th->urg_ptr = 0xFFFF; - th->urg = 1; - } + if (unlikely(tcp_urg_mode(tp) && + between(tp->snd_up, tcb->seq + 1, tcb->seq + 0xFFFF))) { + th->urg_ptr = htons(tp->snd_up - tcb->seq); + th->urg = 1; } tcp_options_write((__be32 *)(th + 1), tp, &opts, &md5_hash_location); @@ -2027,7 +2023,6 @@ void tcp_xmit_retransmit_queue(struct sock *sk) last_lost = tp->snd_una; } - /* First pass: retransmit lost packets. */ tcp_for_write_queue_from(skb, sk) { __u8 sacked = TCP_SKB_CB(skb)->sacked; |