diff options
| author | David S. Miller <davem@davemloft.net> | 2010-07-20 21:25:24 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2010-07-20 21:25:24 -0400 |
| commit | 11fe883936980fe242869d671092a466cf1db3e3 (patch) | |
| tree | 14ff24e81eb4326e94eb5aa6432a1dd55cef5ece /net/ipv4 | |
| parent | 70d4bf6d467a330ccc947df9b2608e329d9e7708 (diff) | |
| parent | 573201f36fd9c7c6d5218cdcd9948cee700b277d (diff) | |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
drivers/vhost/net.c
net/bridge/br_device.c
Fix merge conflict in drivers/vhost/net.c with guidance from
Stephen Rothwell.
Revert the effects of net-2.6 commit 573201f36fd9c7c6d5218cdcd9948cee700b277d
since net-next-2.6 has fixes that make bridge netpoll work properly thus
we don't need it disabled.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
| -rw-r--r-- | net/ipv4/ipmr.c | 8 | ||||
| -rw-r--r-- | net/ipv4/tcp.c | 1 | ||||
| -rw-r--r-- | net/ipv4/tcp_output.c | 3 |
3 files changed, 10 insertions, 2 deletions
diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c index 539592294f45..179fcab866fc 100644 --- a/net/ipv4/ipmr.c +++ b/net/ipv4/ipmr.c | |||
| @@ -442,8 +442,10 @@ static netdev_tx_t reg_vif_xmit(struct sk_buff *skb, struct net_device *dev) | |||
| 442 | int err; | 442 | int err; |
| 443 | 443 | ||
| 444 | err = ipmr_fib_lookup(net, &fl, &mrt); | 444 | err = ipmr_fib_lookup(net, &fl, &mrt); |
| 445 | if (err < 0) | 445 | if (err < 0) { |
| 446 | kfree_skb(skb); | ||
| 446 | return err; | 447 | return err; |
| 448 | } | ||
| 447 | 449 | ||
| 448 | read_lock(&mrt_lock); | 450 | read_lock(&mrt_lock); |
| 449 | dev->stats.tx_bytes += skb->len; | 451 | dev->stats.tx_bytes += skb->len; |
| @@ -1728,8 +1730,10 @@ int ip_mr_input(struct sk_buff *skb) | |||
| 1728 | goto dont_forward; | 1730 | goto dont_forward; |
| 1729 | 1731 | ||
| 1730 | err = ipmr_fib_lookup(net, &skb_rtable(skb)->fl, &mrt); | 1732 | err = ipmr_fib_lookup(net, &skb_rtable(skb)->fl, &mrt); |
| 1731 | if (err < 0) | 1733 | if (err < 0) { |
| 1734 | kfree_skb(skb); | ||
| 1732 | return err; | 1735 | return err; |
| 1736 | } | ||
| 1733 | 1737 | ||
| 1734 | if (!local) { | 1738 | if (!local) { |
| 1735 | if (IPCB(skb)->opt.router_alert) { | 1739 | if (IPCB(skb)->opt.router_alert) { |
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 9fce8a8a13aa..86b9f67abede 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c | |||
| @@ -608,6 +608,7 @@ ssize_t tcp_splice_read(struct socket *sock, loff_t *ppos, | |||
| 608 | ssize_t spliced; | 608 | ssize_t spliced; |
| 609 | int ret; | 609 | int ret; |
| 610 | 610 | ||
| 611 | sock_rps_record_flow(sk); | ||
| 611 | /* | 612 | /* |
| 612 | * We can't seek on a socket input | 613 | * We can't seek on a socket input |
| 613 | */ | 614 | */ |
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index b3f6f099b1a3..de3bd8458588 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c | |||
| @@ -2210,6 +2210,9 @@ void tcp_xmit_retransmit_queue(struct sock *sk) | |||
| 2210 | int mib_idx; | 2210 | int mib_idx; |
| 2211 | int fwd_rexmitting = 0; | 2211 | int fwd_rexmitting = 0; |
| 2212 | 2212 | ||
| 2213 | if (!tp->packets_out) | ||
| 2214 | return; | ||
| 2215 | |||
| 2213 | if (!tp->lost_out) | 2216 | if (!tp->lost_out) |
| 2214 | tp->retransmit_high = tp->snd_una; | 2217 | tp->retransmit_high = tp->snd_una; |
| 2215 | 2218 | ||
