HCI ACL fragmentation does not work correctly
ID: LPCBARESDK-766
Status: Open
First reported: 6.0.14.1114
Fixed in: TBD
Description
HCI ACL fragmentation does not work correctly on DA14585/586 devices. The problem comes from the fact that per HCI packet to be send the same flags is
applied no mater if we have to split the HCI packet in multiple smaller packets (l2cm_get_buffer_size()) or not.
This happens inside:
void hci_acl_tx_data_received(uint16_t hdl_flags, uint16_t datalen, uint8_t * payload)
{
do
{
uint16_t conhdl = (hdl_flags & HCI_ACL_HDR_HDL_MASK) >>
HCI_ACL_HDR_HDL_POS;
uint8_t data_flags = (hdl_flags & HCI_ACL_HDR_DATA_FLAG_MASK) >>
HCI_ACL_HDR_DATA_FLAG_POS
...
Workaround
This is a part of ROM, no workaround is available.