Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Bluetooth: btintel_pcie: Add support for ISO data

Add support for handling ISO RX and TX packets.

Signed-off-by: Kiran <kiran.k@intel.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

authored by

Kiran and committed by
Luiz Augusto von Dentz
861da2c1 29aeb4e8

+16
+16
drivers/bluetooth/btintel_pcie.c
··· 46 46 #define BTINTEL_PCIE_HCI_ACL_PKT 0x00000002 47 47 #define BTINTEL_PCIE_HCI_SCO_PKT 0x00000003 48 48 #define BTINTEL_PCIE_HCI_EVT_PKT 0x00000004 49 + #define BTINTEL_PCIE_HCI_ISO_PKT 0x00000005 49 50 50 51 static inline void ipc_print_ia_ring(struct hci_dev *hdev, struct ia *ia, 51 52 u16 queue_num) ··· 424 423 goto exit_error; 425 424 } 426 425 break; 426 + 427 + case BTINTEL_PCIE_HCI_ISO_PKT: 428 + if (skb->len >= HCI_ISO_HDR_SIZE) { 429 + plen = HCI_ISO_HDR_SIZE + __le16_to_cpu(hci_iso_hdr(skb)->dlen); 430 + pkt_type = HCI_ISODATA_PKT; 431 + } else { 432 + bt_dev_err(hdev, "ISO packet is too short"); 433 + ret = -EILSEQ; 434 + goto exit_error; 435 + } 436 + break; 437 + 427 438 default: 428 439 bt_dev_err(hdev, "Invalid packet type received: 0x%4.4x", 429 440 pcie_pkt_type); ··· 1094 1081 case HCI_SCODATA_PKT: 1095 1082 type = BTINTEL_PCIE_HCI_SCO_PKT; 1096 1083 hdev->stat.sco_tx++; 1084 + break; 1085 + case HCI_ISODATA_PKT: 1086 + type = BTINTEL_PCIE_HCI_ISO_PKT; 1097 1087 break; 1098 1088 default: 1099 1089 bt_dev_err(hdev, "Unknown HCI packet type");