]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/bluetooth/l2cap_sock.c
Bluetooth: Fix waiting for clearing of BT_SK_SUSPEND flag
[karo-tx-linux.git] / net / bluetooth / l2cap_sock.c
index 0098af80b21327045c99a38771ed8c95da2544c2..ad95b426b09cd3576a41dfbcaec1a0aac4bad3ec 100644 (file)
@@ -777,6 +777,12 @@ static int l2cap_sock_sendmsg(struct kiocb *iocb, struct socket *sock,
        if (sk->sk_state != BT_CONNECTED)
                return -ENOTCONN;
 
+       lock_sock(sk);
+       err = bt_sock_wait_ready(sk, msg->msg_flags);
+       release_sock(sk);
+       if (err)
+               return err;
+
        l2cap_chan_lock(chan);
        err = l2cap_chan_send(chan, msg, len, sk->sk_priority);
        l2cap_chan_unlock(chan);