Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[firefly-linux-kernel-4.4.55.git] / net / bluetooth / af_bluetooth.c
index ce22e0cfa923fb947256f8c36405b7e8bce5c888..70f9d945faf7b439ce7a5283e94bc9687e8e67af 100644 (file)
@@ -210,8 +210,8 @@ struct sock *bt_accept_dequeue(struct sock *parent, struct socket *newsock)
 }
 EXPORT_SYMBOL(bt_accept_dequeue);
 
-int bt_sock_recvmsg(struct kiocb *iocb, struct socket *sock,
-                               struct msghdr *msg, size_t len, int flags)
+int bt_sock_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
+                   int flags)
 {
        int noblock = flags & MSG_DONTWAIT;
        struct sock *sk = sock->sk;
@@ -283,8 +283,8 @@ static long bt_sock_data_wait(struct sock *sk, long timeo)
        return timeo;
 }
 
-int bt_sock_stream_recvmsg(struct kiocb *iocb, struct socket *sock,
-                              struct msghdr *msg, size_t size, int flags)
+int bt_sock_stream_recvmsg(struct socket *sock, struct msghdr *msg,
+                          size_t size, int flags)
 {
        struct sock *sk = sock->sk;
        int err = 0;
@@ -711,10 +711,9 @@ EXPORT_SYMBOL_GPL(bt_debugfs);
 
 static int __init bt_init(void)
 {
-       struct sk_buff *skb;
        int err;
 
-       BUILD_BUG_ON(sizeof(struct bt_skb_cb) > sizeof(skb->cb));
+       sock_skb_cb_check_size(sizeof(struct bt_skb_cb));
 
        BT_INFO("Core ver %s", VERSION);
 
@@ -750,6 +749,13 @@ static int __init bt_init(void)
                goto sock_err;
        }
 
+       err = mgmt_init();
+       if (err < 0) {
+               sco_exit();
+               l2cap_exit();
+               goto sock_err;
+       }
+
        return 0;
 
 sock_err:
@@ -764,6 +770,8 @@ error:
 
 static void __exit bt_exit(void)
 {
+       mgmt_exit();
+
        sco_exit();
 
        l2cap_exit();