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: HCI: Fix using LE/ACL buffers for ISO packets

ISO packets shall not use LE/ACL buffer pool, that feature seem to be
exclusive to LE-ACL only.

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

+8 -21
+3 -4
net/bluetooth/hci_conn.c
··· 924 924 case CIS_LINK: 925 925 case BIS_LINK: 926 926 case PA_LINK: 927 - if (hdev->iso_mtu) 928 - /* Dedicated ISO Buffer exists */ 929 - break; 930 - fallthrough; 927 + if (!hdev->iso_mtu) 928 + return ERR_PTR(-ECONNREFUSED); 929 + break; 931 930 case LE_LINK: 932 931 if (hdev->le_mtu && hdev->le_mtu < HCI_MIN_LE_MTU) 933 932 return ERR_PTR(-ECONNREFUSED);
+2 -4
net/bluetooth/hci_core.c
··· 3399 3399 case CIS_LINK: 3400 3400 case BIS_LINK: 3401 3401 case PA_LINK: 3402 - cnt = hdev->iso_mtu ? hdev->iso_cnt : 3403 - hdev->le_mtu ? hdev->le_cnt : hdev->acl_cnt; 3402 + cnt = hdev->iso_cnt; 3404 3403 break; 3405 3404 default: 3406 3405 cnt = 0; ··· 3758 3759 if (!hci_conn_num(hdev, type)) 3759 3760 return; 3760 3761 3761 - cnt = hdev->iso_pkts ? &hdev->iso_cnt : 3762 - hdev->le_pkts ? &hdev->le_cnt : &hdev->acl_cnt; 3762 + cnt = &hdev->iso_cnt; 3763 3763 while (*cnt && (conn = hci_low_sent(hdev, type, &quote))) { 3764 3764 while (quote-- && (skb = skb_dequeue(&conn->data_q))) { 3765 3765 BT_DBG("skb %p len %d", skb, skb->len);
+3 -13
net/bluetooth/hci_event.c
··· 4461 4461 case CIS_LINK: 4462 4462 case BIS_LINK: 4463 4463 case PA_LINK: 4464 - if (hdev->iso_pkts) { 4465 - hdev->iso_cnt += count; 4466 - if (hdev->iso_cnt > hdev->iso_pkts) 4467 - hdev->iso_cnt = hdev->iso_pkts; 4468 - } else if (hdev->le_pkts) { 4469 - hdev->le_cnt += count; 4470 - if (hdev->le_cnt > hdev->le_pkts) 4471 - hdev->le_cnt = hdev->le_pkts; 4472 - } else { 4473 - hdev->acl_cnt += count; 4474 - if (hdev->acl_cnt > hdev->acl_pkts) 4475 - hdev->acl_cnt = hdev->acl_pkts; 4476 - } 4464 + hdev->iso_cnt += count; 4465 + if (hdev->iso_cnt > hdev->iso_pkts) 4466 + hdev->iso_cnt = hdev->iso_pkts; 4477 4467 break; 4478 4468 4479 4469 default: