Bluetooth: Add HCI CMSG details only to raw sockets
authorMarcel Holtmann <marcel@holtmann.org>
Mon, 20 Feb 2012 13:50:34 +0000 (14:50 +0100)
committerJohan Hedberg <johan.hedberg@intel.com>
Mon, 20 Feb 2012 13:56:15 +0000 (15:56 +0200)
The HCI CMSG specific data is for raw sockets only. So only add them to
actual raw sockets.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
net/bluetooth/hci_sock.c

index 27ec908..71a02ad 100644 (file)
@@ -488,7 +488,11 @@ static int hci_sock_recvmsg(struct kiocb *iocb, struct socket *sock,
        skb_reset_transport_header(skb);
        err = skb_copy_datagram_iovec(skb, 0, msg->msg_iov, copied);
 
-       hci_sock_cmsg(sk, msg, skb);
+       switch (hci_pi(sk)->channel) {
+       case HCI_CHANNEL_RAW:
+               hci_sock_cmsg(sk, msg, skb);
+               break;
+       }
 
        skb_free_datagram(sk, skb);