Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d5c7e48 authored by Andre Eisenbach's avatar Andre Eisenbach Committed by Matthew Xie
Browse files

Fix LE buffer size for 0 length buffers

If the local chip reports 0 LE data buffers and 0 LE ACL data package
length, then the default ACL buffer length as returned byt the
Read_Buffer_Size command is to be used instead.

Change-Id: I953fabe426a98cc1b005d3b46c3e7f227c23a686
parent f4252b19
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -784,6 +784,9 @@ void btm_read_ble_buf_size_complete (UINT8 *p, UINT16 evt_len)
        STREAM_TO_UINT16 (btu_cb.hcit_ble_acl_data_size, p);
        STREAM_TO_UINT16 (btu_cb.hcit_ble_acl_data_size, p);
        STREAM_TO_UINT8 (lm_num_le_bufs,   p);
        STREAM_TO_UINT8 (lm_num_le_bufs,   p);


        if (btu_cb.hcit_ble_acl_data_size == 0)
            btu_cb.hcit_ble_acl_data_size = btu_cb.hcit_acl_data_size;

        btu_cb.hcit_ble_acl_pkt_size = btu_cb.hcit_ble_acl_data_size + HCI_DATA_PREAMBLE_SIZE;
        btu_cb.hcit_ble_acl_pkt_size = btu_cb.hcit_ble_acl_data_size + HCI_DATA_PREAMBLE_SIZE;


        l2c_link_processs_ble_num_bufs (lm_num_le_bufs);
        l2c_link_processs_ble_num_bufs (lm_num_le_bufs);
+2 −0
Original line number Original line Diff line number Diff line
@@ -622,6 +622,8 @@ BOOLEAN l2cble_create_conn (tL2C_LCB *p_lcb)
*******************************************************************************/
*******************************************************************************/
void l2c_link_processs_ble_num_bufs (UINT16 num_lm_ble_bufs)
void l2c_link_processs_ble_num_bufs (UINT16 num_lm_ble_bufs)
{
{
    if (num_lm_ble_bufs == 0)
        num_lm_ble_bufs = l2cb.num_lm_acl_bufs;
    l2cb.num_lm_ble_bufs = l2cb.controller_le_xmit_window = num_lm_ble_bufs;
    l2cb.num_lm_ble_bufs = l2cb.controller_le_xmit_window = num_lm_ble_bufs;
}
}