diff options
author | Andre Eisenbach <andre@broadcom.com> | 2013-04-24 16:02:04 -0700 |
---|---|---|
committer | Matthew Xie <mattx@google.com> | 2013-04-25 13:01:22 -0700 |
commit | 12c3f496c3612472a22cbb0afd89812b154b4186 (patch) | |
tree | 71152e3fbd76f50470ef1670af2152e7734a3dff | |
parent | f8f30c2cecf221b2c3983b72d5a849d799c39dd7 (diff) | |
download | bluedroid-12c3f496c3612472a22cbb0afd89812b154b4186.tar.gz |
LE: Fix shared ACL buffer allocation
Allocate a static amount of LE buffers for chipsets that do not provide
separate ACL buffers for LE and BR/EDR.
Bug: 8714387
Change-Id: I74e954c0824ddfd89b50c14f6848db787f9b9bff
-rw-r--r-- | include/bt_target.h | 6 | ||||
-rw-r--r-- | stack/l2cap/l2c_ble.c | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/include/bt_target.h b/include/bt_target.h index dd1b19e..0ce6971 100644 --- a/include/bt_target.h +++ b/include/bt_target.h @@ -550,6 +550,12 @@ #define L2CAP_FCR_RX_POOL_ID HCI_ACL_POOL_ID #endif +/* Number of ACL buffers to assign to LE + if the HCI buffer pool is shared with BR/EDR */ +#ifndef L2C_DEF_NUM_BLE_BUF_SHARED +#define L2C_DEF_NUM_BLE_BUF_SHARED 1 +#endif + /* Used by BTM when it sends HCI commands to the controller. */ #ifndef BTM_CMD_POOL_ID #define BTM_CMD_POOL_ID GKI_POOL_ID_2 diff --git a/stack/l2cap/l2c_ble.c b/stack/l2cap/l2c_ble.c index e323587..75053bd 100644 --- a/stack/l2cap/l2c_ble.c +++ b/stack/l2cap/l2c_ble.c @@ -623,7 +623,11 @@ BOOLEAN l2cble_create_conn (tL2C_LCB *p_lcb) 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; + { + num_lm_ble_bufs = L2C_DEF_NUM_BLE_BUF_SHARED; + l2cb.num_lm_acl_bufs -= L2C_DEF_NUM_BLE_BUF_SHARED; + } + l2cb.num_lm_ble_bufs = l2cb.controller_le_xmit_window = num_lm_ble_bufs; } |