fix(iso): correct ISO data length mask from 0x7fff to 0x3fff

(cherry picked from commit b0f2f482d64e1d0c5f1ba2817f54d12fcb870e75)

Co-authored-by: wangjialiang <wangjialiang@espressif.com>
This commit is contained in:
wangjialiang
2026-08-04 16:59:06 +08:00
parent 1fd26d0846
commit 321492e10e
2 changed files with 2 additions and 2 deletions

View File

@@ -178,7 +178,7 @@ hci_h4_sm_w4_header(struct hci_h4_sm *h4sm, struct hci_h4_input_buffer *ib)
}
os_mbuf_append(h4sm->om, h4sm->hdr, h4sm->len);
h4sm->exp_len = (get_le16(&h4sm->hdr[2]) & 0x7fff) + 4;
h4sm->exp_len = (get_le16(&h4sm->hdr[2]) & 0x3fff) + 4;
break;
default:
return -2;

View File

@@ -227,7 +227,7 @@ hci_h4_sm_w4_header(struct hci_h4_sm *h4sm, struct hci_h4_input_buffer *ib)
#endif // !CONFIG_BT_CONTROLLER_ENABLED
#if CONFIG_BT_LE_ISO_SUPPORT
case HCI_H4_ISO:
h4sm->exp_len = (btdm_get_le16(&h4sm->hdr[2]) & 0x7fff) + 4;
h4sm->exp_len = (btdm_get_le16(&h4sm->hdr[2]) & 0x3fff) + 4;
h4sm->buf = h4sm->allocs->iso(h4sm->exp_len);
if (!h4sm->buf) {
return -1;