Wireless: nl80211, fix lock imbalance
[firefly-linux-kernel-4.4.55.git] / net / core / stream.c
index 8727cead64ad5f55bd4980d4964ede930d3242a9..a37debfeb1b2bcb3309d93fc5d45b5f82e202d6e 100644 (file)
@@ -33,7 +33,8 @@ void sk_stream_write_space(struct sock *sk)
                clear_bit(SOCK_NOSPACE, &sock->flags);
 
                if (sk->sk_sleep && waitqueue_active(sk->sk_sleep))
-                       wake_up_interruptible(sk->sk_sleep);
+                       wake_up_interruptible_poll(sk->sk_sleep, POLLOUT |
+                                               POLLWRNORM | POLLWRBAND);
                if (sock->fasync_list && !(sk->sk_shutdown & SEND_SHUTDOWN))
                        sock_wake_async(sock, SOCK_WAKE_SPACE, POLL_OUT);
        }