Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[firefly-linux-kernel-4.4.55.git] / net / bluetooth / sco.c
index 79d87d8d4f514f5529b57f1b89119a735d068f69..2c80553505107540f75c1d4521f8a61e900b61cd 100644 (file)
@@ -359,6 +359,7 @@ static void __sco_sock_close(struct sock *sk)
                        sco_chan_del(sk, ECONNRESET);
                break;
 
+       case BT_CONNECT2:
        case BT_CONNECT:
        case BT_DISCONN:
                sco_chan_del(sk, ECONNRESET);
@@ -664,6 +665,7 @@ static int sco_sock_recvmsg(struct kiocb *iocb, struct socket *sock,
            test_bit(BT_SK_DEFER_SETUP, &bt_sk(sk)->flags)) {
                hci_conn_accept(pi->conn->hcon, 0);
                sk->sk_state = BT_CONFIG;
+               msg->msg_namelen = 0;
 
                release_sock(sk);
                return 0;
@@ -1111,8 +1113,7 @@ void __exit sco_exit(void)
 
        debugfs_remove(sco_debugfs);
 
-       if (bt_sock_unregister(BTPROTO_SCO) < 0)
-               BT_ERR("SCO socket unregistration failed");
+       bt_sock_unregister(BTPROTO_SCO);
 
        proto_unregister(&sco_proto);
 }