]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Bluetooth: Fix error handling for HCI socket options
authorMarcel Holtmann <marcel@holtmann.org>
Mon, 26 Aug 2013 16:29:39 +0000 (09:29 -0700)
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>
Mon, 16 Sep 2013 17:35:55 +0000 (14:35 -0300)
The HCI sockets for monitor and control do not support any HCI specific
socket options and if tried, an error will be returned. However the
error used is EINVAL and that is not really descriptive. To make it
clear that these sockets are not handling HCI socket options, return
EBADFD instead.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
net/bluetooth/hci_sock.c

index 49c5c62ac0c92ccc315684ee16e3147eb657592e..f92e913c8a037c84c730b2bba1c0f0bfbeebcded 100644 (file)
@@ -921,7 +921,7 @@ static int hci_sock_setsockopt(struct socket *sock, int level, int optname,
        lock_sock(sk);
 
        if (hci_pi(sk)->channel != HCI_CHANNEL_RAW) {
-               err = -EINVAL;
+               err = -EBADFD;
                goto done;
        }
 
@@ -1007,7 +1007,7 @@ static int hci_sock_getsockopt(struct socket *sock, int level, int optname,
        lock_sock(sk);
 
        if (hci_pi(sk)->channel != HCI_CHANNEL_RAW) {
-               err = -EINVAL;
+               err = -EBADFD;
                goto done;
        }