Bluetooth: monitor: Add support for ISO packets
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Wed, 15 Jan 2020 21:02:17 +0000 (13:02 -0800)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 15 Jan 2020 21:28:51 +0000 (22:28 +0100)
This enables passing ISO packets to the monitor socket.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
include/net/bluetooth/hci_mon.h
net/bluetooth/hci_sock.c

index 240786b..2d5fcda 100644 (file)
@@ -49,6 +49,8 @@ struct hci_mon_hdr {
 #define HCI_MON_CTRL_CLOSE     15
 #define HCI_MON_CTRL_COMMAND   16
 #define HCI_MON_CTRL_EVENT     17
+#define HCI_MON_ISO_TX_PKT     18
+#define HCI_MON_ISO_RX_PKT     19
 
 struct hci_mon_new_index {
        __u8            type;
index 5d0ed28..3ae5086 100644 (file)
@@ -324,6 +324,12 @@ void hci_send_to_monitor(struct hci_dev *hdev, struct sk_buff *skb)
                else
                        opcode = cpu_to_le16(HCI_MON_SCO_TX_PKT);
                break;
+       case HCI_ISODATA_PKT:
+               if (bt_cb(skb)->incoming)
+                       opcode = cpu_to_le16(HCI_MON_ISO_RX_PKT);
+               else
+                       opcode = cpu_to_le16(HCI_MON_ISO_TX_PKT);
+               break;
        case HCI_DIAG_PKT:
                opcode = cpu_to_le16(HCI_MON_VENDOR_DIAG);
                break;