1
0
Fork 0

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>
hifive-unleashed-5.1
Duan Jiong 2014-12-03 10:29:40 +08:00 committed by David S. Miller
parent 54ceb9ec6f
commit 86fe8f8920
1 changed files with 1 additions and 5 deletions

View File

@ -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;