diff options
author | Duan Jiong <duanj.fnst@cn.fujitsu.com> | 2014-12-02 21:29:40 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-12-09 13:18:09 -0500 |
commit | 86fe8f892013228eef324c42e77c6b54b0bbc6dd (patch) | |
tree | dd1cd91cf0f9279cba9b21322cf0f46ad8171306 /net/ipv6 | |
parent | 54ceb9ec6fe8e64067b164e6b161dd63905c059f (diff) |
ipv6: remove useless spin_lock/spin_unlock
xchg is atomic, so there is no necessary to use spin_lock/spin_unlock
to protect it. At last, remove the redundant
opt = xchg(&inet6_sk(sk)->opt, opt); statement.
Signed-off-by: Duan Jiong <duanj.fnst@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
-rw-r--r-- | net/ipv6/ipv6_sockglue.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c index e1a9583bb419..66980d8d98d1 100644 --- a/net/ipv6/ipv6_sockglue.c +++ b/net/ipv6/ipv6_sockglue.c | |||
@@ -110,12 +110,8 @@ struct ipv6_txoptions *ipv6_update_options(struct sock *sk, | |||
110 | icsk->icsk_ext_hdr_len = opt->opt_flen + opt->opt_nflen; | 110 | icsk->icsk_ext_hdr_len = opt->opt_flen + opt->opt_nflen; |
111 | icsk->icsk_sync_mss(sk, icsk->icsk_pmtu_cookie); | 111 | icsk->icsk_sync_mss(sk, icsk->icsk_pmtu_cookie); |
112 | } | 112 | } |
113 | opt = xchg(&inet6_sk(sk)->opt, opt); | ||
114 | } else { | ||
115 | spin_lock(&sk->sk_dst_lock); | ||
116 | opt = xchg(&inet6_sk(sk)->opt, opt); | ||
117 | spin_unlock(&sk->sk_dst_lock); | ||
118 | } | 113 | } |
114 | opt = xchg(&inet6_sk(sk)->opt, opt); | ||
119 | sk_dst_reset(sk); | 115 | sk_dst_reset(sk); |
120 | 116 | ||
121 | return opt; | 117 | return opt; |