diff options
author | Tony Lindgren <tony@atomide.com> | 2012-09-21 13:48:01 -0700 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2012-09-21 13:48:01 -0700 |
commit | 0c9de3c52d2baed6bc2ee44885adb418152c71c4 (patch) | |
tree | e19ab2c41ae47250fd614418022b32aa783aa563 /net/ipv6/tcp_ipv6.c | |
parent | 6bfc82ff589a00e5fbc12b958c649d703d273c86 (diff) | |
parent | 3c7c5dab44d6c8861bc86dab924353d8d40344f8 (diff) |
Merge branch 'for_3.7/omap5_arch_timer' of git://github.com/SantoshShilimkar/linux into devel-dt-arch-timer
Conflicts:
arch/arm/mach-omap2/timer.c
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 5 |
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; } |