diff options
author | Duan Jiong <duanj.fnst@cn.fujitsu.com> | 2014-12-03 05:29:40 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-12-09 21:18:09 +0300 |
commit | 86fe8f892013228eef324c42e77c6b54b0bbc6dd (patch) | |
tree | dd1cd91cf0f9279cba9b21322cf0f46ad8171306 /net/ipv6/ipv6_sockglue.c | |
parent | 54ceb9ec6fe8e64067b164e6b161dd63905c059f (diff) | |
download | linux-86fe8f892013228eef324c42e77c6b54b0bbc6dd.tar.xz |
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/ipv6_sockglue.c')
-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, icsk->icsk_ext_hdr_len = opt->opt_flen + opt->opt_nflen; icsk->icsk_sync_mss(sk, icsk->icsk_pmtu_cookie); } - opt = xchg(&inet6_sk(sk)->opt, opt); - } else { - spin_lock(&sk->sk_dst_lock); - opt = xchg(&inet6_sk(sk)->opt, opt); - spin_unlock(&sk->sk_dst_lock); } + opt = xchg(&inet6_sk(sk)->opt, opt); sk_dst_reset(sk); return opt; |