]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/bluetooth/hidp/sock.c
autofs4: correct offset mount expire check
[linux-2.6-omap-h63xx.git] / net / bluetooth / hidp / sock.c
index 8b8a6c1dbd9905534628f492f8d329e03d6f71ff..f4dd02ca9a96d9acd1c73872aac795b6de68575b 100644 (file)
@@ -86,13 +86,13 @@ static int hidp_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long
 
                isock = sockfd_lookup(ca.intr_sock, &err);
                if (!isock) {
-                       fput(csock->file);
+                       sockfd_put(csock);
                        return err;
                }
 
                if (csock->sk->sk_state != BT_CONNECTED || isock->sk->sk_state != BT_CONNECTED) {
-                       fput(csock->file);
-                       fput(isock->file);
+                       sockfd_put(csock);
+                       sockfd_put(isock);
                        return -EBADFD;
                }
 
@@ -101,8 +101,8 @@ static int hidp_sock_ioctl(struct socket *sock, unsigned int cmd, unsigned long
                        if (copy_to_user(argp, &ca, sizeof(ca)))
                                err = -EFAULT;
                } else {
-                       fput(csock->file);
-                       fput(isock->file);
+                       sockfd_put(csock);
+                       sockfd_put(isock);
                }
 
                return err;
@@ -194,7 +194,7 @@ static int hidp_sock_compat_ioctl(struct socket *sock, unsigned int cmd, unsigne
                if (put_user(ca.ctrl_sock, &uca->ctrl_sock) ||
                                put_user(ca.intr_sock, &uca->intr_sock) ||
                                put_user(ca.parser, &uca->parser) ||
-                               put_user(ca.rd_size, &uca->parser) ||
+                               put_user(ca.rd_size, &uca->rd_size) ||
                                put_user(compat_ptr(ca.rd_data), &uca->rd_data) ||
                                put_user(ca.country, &uca->country) ||
                                put_user(ca.subclass, &uca->subclass) ||
@@ -246,7 +246,7 @@ static struct proto hidp_proto = {
        .obj_size       = sizeof(struct bt_sock)
 };
 
-static int hidp_sock_create(struct socket *sock, int protocol)
+static int hidp_sock_create(struct net *net, struct socket *sock, int protocol)
 {
        struct sock *sk;
 
@@ -255,7 +255,7 @@ static int hidp_sock_create(struct socket *sock, int protocol)
        if (sock->type != SOCK_RAW)
                return -ESOCKTNOSUPPORT;
 
-       sk = sk_alloc(PF_BLUETOOTH, GFP_ATOMIC, &hidp_proto, 1);
+       sk = sk_alloc(net, PF_BLUETOOTH, GFP_ATOMIC, &hidp_proto);
        if (!sk)
                return -ENOMEM;