|
@@ -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);
|
|
|
|