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.