aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/net/ipv6/tcp_ipv6.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-09-22 18:31:08 +0200
committerTakashi Iwai <tiwai@suse.de>2012-09-22 18:31:08 +0200
commit3d98c21d064bfbb8c6fddc659471acb4950320fa (patch)
treea506fbe4cca3616f328cdf761a45d0a09ce38237 /net/ipv6/tcp_ipv6.c
parentALSA: hda - add PCI identifier for Intel 5 Series/3400 (diff)
parentMerge tag 'v3.6-rc6' into for-3.7 (diff)
downloadwireguard-linux-3d98c21d064bfbb8c6fddc659471acb4950320fa.tar.xz
wireguard-linux-3d98c21d064bfbb8c6fddc659471acb4950320fa.zip
Merge tag 'asoc-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next
ASoC: Updates for v3.7 Lots and lots of driver specific cleanups and enhancements but the only substantial framework feature this time round is the compressed API binding: - Addition of ASoC bindings for the compressed API, used by the mid-x86 drivers. - Lots of cleanups and API refreshes for CODEC drivers and DaVinci. - Conversion of OMAP to dmaengine. - New machine driver for Wolfson Microelectronics Bells. - New CODEC driver for Wolfson Microelectronics WM0010.
Diffstat (limited to '')
-rw-r--r--net/ipv6/tcp_ipv6.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index a3e60cc04a8a..acd32e3f1b68 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -403,8 +403,9 @@ static void tcp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
tp->mtu_info = ntohl(info);
if (!sock_owned_by_user(sk))
tcp_v6_mtu_reduced(sk);
- else
- set_bit(TCP_MTU_REDUCED_DEFERRED, &tp->tsq_flags);
+ else if (!test_and_set_bit(TCP_MTU_REDUCED_DEFERRED,
+ &tp->tsq_flags))
+ sock_hold(sk);
goto out;
}