aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp_ipv4.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2010-06-06 20:42:02 -0400
committerDavid S. Miller <davem@davemloft.net>2010-06-06 20:42:02 -0400
commiteedc765ca4b19a41cf0b921a492ac08d640060d1 (patch)
tree95c566c6238cc953e1e336115d2daafe8bcb388f /net/ipv4/tcp_ipv4.c
parente59d44df46edaafb6b637e98d046775524b31104 (diff)
parent024a07bacf8287a6ddfa83e9d5b951c5e8b4070e (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/sfc/net_driver.h drivers/net/sfc/siena.c
Diffstat (limited to 'net/ipv4/tcp_ipv4.c')
-rw-r--r--net/ipv4/tcp_ipv4.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
index 6558dfd899da..acdc4c989853 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -1557,6 +1557,7 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb)
1557#endif 1557#endif
1558 1558
1559 if (sk->sk_state == TCP_ESTABLISHED) { /* Fast path */ 1559 if (sk->sk_state == TCP_ESTABLISHED) { /* Fast path */
1560 sock_rps_save_rxhash(sk, skb->rxhash);
1560 TCP_CHECK_TIMER(sk); 1561 TCP_CHECK_TIMER(sk);
1561 if (tcp_rcv_established(sk, skb, tcp_hdr(skb), skb->len)) { 1562 if (tcp_rcv_established(sk, skb, tcp_hdr(skb), skb->len)) {
1562 rsk = sk; 1563 rsk = sk;
@@ -1581,7 +1582,9 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb)
1581 } 1582 }
1582 return 0; 1583 return 0;
1583 } 1584 }
1584 } 1585 } else
1586 sock_rps_save_rxhash(sk, skb->rxhash);
1587
1585 1588
1586 TCP_CHECK_TIMER(sk); 1589 TCP_CHECK_TIMER(sk);
1587 if (tcp_rcv_state_process(sk, skb, tcp_hdr(skb), skb->len)) { 1590 if (tcp_rcv_state_process(sk, skb, tcp_hdr(skb), skb->len)) {
@@ -1674,8 +1677,6 @@ process:
1674 1677
1675 skb->dev = NULL; 1678 skb->dev = NULL;
1676 1679
1677 sock_rps_save_rxhash(sk, skb->rxhash);
1678
1679 bh_lock_sock_nested(sk); 1680 bh_lock_sock_nested(sk);
1680 ret = 0; 1681 ret = 0;
1681 if (!sock_owned_by_user(sk)) { 1682 if (!sock_owned_by_user(sk)) {