diff options
| -rw-r--r-- | net/ipv4/udp.c | 2 | ||||
| -rw-r--r-- | net/ipv6/udp.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 6d6142f9c478..865d75214a9a 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c | |||
| @@ -675,6 +675,8 @@ do_append_data: | |||
| 675 | udp_flush_pending_frames(sk); | 675 | udp_flush_pending_frames(sk); |
| 676 | else if (!corkreq) | 676 | else if (!corkreq) |
| 677 | err = udp_push_pending_frames(sk, up); | 677 | err = udp_push_pending_frames(sk, up); |
| 678 | else if (unlikely(skb_queue_empty(&sk->sk_write_queue))) | ||
| 679 | up->pending = 0; | ||
| 678 | release_sock(sk); | 680 | release_sock(sk); |
| 679 | 681 | ||
| 680 | out: | 682 | out: |
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index 552ec0f449af..e0c3934a7e4b 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c | |||
| @@ -770,6 +770,8 @@ do_append_data: | |||
| 770 | udp_v6_flush_pending_frames(sk); | 770 | udp_v6_flush_pending_frames(sk); |
| 771 | else if (!corkreq) | 771 | else if (!corkreq) |
| 772 | err = udp_v6_push_pending_frames(sk, up); | 772 | err = udp_v6_push_pending_frames(sk, up); |
| 773 | else if (unlikely(skb_queue_empty(&sk->sk_write_queue))) | ||
| 774 | up->pending = 0; | ||
| 773 | 775 | ||
| 774 | if (dst) { | 776 | if (dst) { |
| 775 | if (connected) { | 777 | if (connected) { |
