diff options
author | Takashi Iwai <tiwai@suse.de> | 2010-06-23 16:07:34 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-06-23 16:07:34 +0200 |
commit | 1240e6b5532358257c52351639a8d2382fe58f84 (patch) | |
tree | 43d374ce976a41c6dcd12a70a51e0289093f8d07 /net/ipv4/tcp_ipv4.c | |
parent | c9ff921abecda352e987a6aae169118a3fc9aa5d (diff) | |
parent | a5c7d797dcce3be5e77cd6ea62cc4920ededc32b (diff) |
Merge branch 'fix/misc' into topic/misc
Diffstat (limited to 'net/ipv4/tcp_ipv4.c')
-rw-r--r-- | net/ipv4/tcp_ipv4.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 202cf09c4cd4..fe193e53af44 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c @@ -1555,6 +1555,7 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb) #endif if (sk->sk_state == TCP_ESTABLISHED) { /* Fast path */ + sock_rps_save_rxhash(sk, skb->rxhash); TCP_CHECK_TIMER(sk); if (tcp_rcv_established(sk, skb, tcp_hdr(skb), skb->len)) { rsk = sk; @@ -1579,7 +1580,9 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb) } return 0; } - } + } else + sock_rps_save_rxhash(sk, skb->rxhash); + TCP_CHECK_TIMER(sk); if (tcp_rcv_state_process(sk, skb, tcp_hdr(skb), skb->len)) { @@ -1672,8 +1675,6 @@ process: skb->dev = NULL; - sock_rps_save_rxhash(sk, skb->rxhash); - bh_lock_sock_nested(sk); ret = 0; if (!sock_owned_by_user(sk)) { |