Commit graph

942 commits

Author SHA1 Message Date
baohongde bd8b9960d5 component/bt: Add Legacy Pairing 2018-09-04 21:11:03 +08:00
Hrishikesh Dhayagude 4abe47437f components/bt: Fix broken API esp_bt_mem_release() for parameter ESP_BT_MODE_BTDM
Problem:
The new API esp_bt_mem_release() that was added freed BTDM data to heap from esp_bt_controller_mem_release().
Now with the BT memory optimization commit ee787085f9,
the BTDM data is optimized and reduced to only 32 bytes which is not sufficient amount to be added to heap.
So, using the API leads to assert saying that the region is too small.

Solution:
Modify heap_caps_add_region_with_caps to return ESP_ERR_INVALID_SIZE in case the range is too small to create a new heap.
Do not assert if return value is ESP_ERR_INVALID_SIZE

This also fixes using API esp_bt_controller_mem_release() with ESP_BT_MODE_BTDM

Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-08-31 14:28:23 +00:00
Jiang Jiang Jian a557e8cc14 Merge branch 'bugfix/fix_bt_hdr_files' into 'master'
components/bt: Make a pass through Bluetooth header files

See merge request idf/esp-idf!3093
2018-08-31 22:04:39 +08:00
Jiang Jiang Jian 2d0124698e Merge branch 'bugfix/btdm_update_private_address' into 'master'
component/bt: Update BLE private address after it's private address interval

See merge request idf/esp-idf!2987
2018-08-31 21:33:54 +08:00
Jiang Jiang Jian 4542bf19f7 Merge branch 'bugfix/btdm_rfcomm_test_command_cause_crash' into 'master'
component/bt: Fix bug rfcomm test command cause crash

See merge request idf/esp-idf!3080
2018-08-31 21:33:39 +08:00
Jiang Jiang Jian e3778d7bd9 Merge branch 'bugfix/btdm_find_remote_service_by_uuid_always_return_success' into 'master'
component/bt: Fix bug of SDP find services by uuid always return success

See merge request idf/esp-idf!3036
2018-08-31 21:27:21 +08:00
Tian Hao 5a8917c337 fix bluetooth security vulnerability of ECDH publick key checking 2018-08-30 11:39:19 +08:00
Jiang Jiang Jian 9be09692b1 Merge branch 'bugfix/btdm_get_acl_num' into 'master'
component/bt : fix get acl number incorrect due to memory release

See merge request idf/esp-idf!3090
2018-08-30 11:12:46 +08:00
Anton Maklakov 8c040e749f bluetooth: fix format overflow warnings 2018-08-29 14:40:28 +08:00
Anton Maklakov 779bce7681 bluetooth: fix incorrect memset size 2018-08-29 14:40:28 +08:00
Anton Maklakov e8eb8cb2a4 bluetooth: fix missing braces and indentation 2018-08-29 14:40:28 +08:00
Ivan Grokhotkov 033b694128 bt/a2dp: fix incorrect return type
res was declared as “bool” so expression

((count == 0) ? A2D_SET_ONE_BIT : A2D_SET_MULTL_BIT)

always evaluated to “true”, and was implicitly converted to
A2D_SET_ONE_BIT.
2018-08-29 14:40:28 +08:00
Ivan Grokhotkov 9fbe42c0f1 bt/bta: fix returning value from function returning void 2018-08-29 14:40:28 +08:00
Ivan Grokhotkov 536df958ad bt/btm: fix misplaced debug statement 2018-08-29 14:40:28 +08:00
Tian Hao eb3f280cd3 component/bt : fix get acl number incorrect due to memory release
1. after memory release MR merged, due to the get acl number condition is not completed, it will cause get acl number value incorrect
2. It may cause set Security Mode (BR/EDR) enable failed
2018-08-28 15:35:40 +08:00
Jiang Jiang Jian 26850880b2 Merge branch 'bugfix/btdm_fix_crash_when_BLE_do_SMP_con_discon_stress_test' into 'master'
component/bt: fix crash when BLE do SMP connect and disconnect stress test

See merge request idf/esp-idf!3077
2018-08-28 13:40:20 +08:00
Jiang Jiang Jian f5b699cee7 Merge branch 'bugfix/btdm_a2dp_sink_pcm_buf_size' into 'master'
bugfix/btdm_a2dp_sink_pcm_buffer_size

See merge request idf/esp-idf!3052
2018-08-28 10:42:36 +08:00
Jiang Jiang Jian 6519f1833a Merge branch 'bugfix/fix_probable_mem_leak' into 'master'
components/bt: Fix a probable memory leak for BTA_GATTS_CONF_EVT event

See merge request idf/esp-idf!2962
2018-08-27 14:10:22 +08:00
Jiang Jiang Jian 1c676300f0 Merge branch 'bugfix/btdm_fix_get_error_adv_sometimes' into 'master'
Component/bt: fix get error adv packet sometimes

See merge request idf/esp-idf!3035
2018-08-27 12:17:23 +08:00
zwj 430d3da089 component/bt: fix crash when BLE do SMP connect and disconnect stress test 2018-08-27 11:09:29 +08:00
wangmengyang 3faee500bb component/bt: bugfix for incorrect computation of PCM data buffer size in A2DP sink 2018-08-27 02:53:59 +00:00
Jiang Jiang Jian df78612896 Merge branch 'bugfix/btdm_fix_memory_leak_in_security_server' into 'master'
component/bt: fix memory leak in security server

See merge request idf/esp-idf!3014
2018-08-27 10:19:27 +08:00
baohongde 588e006256 component/bt: Fix bug of SDP find services by uuid always return success 2018-08-27 02:14:45 +00:00
Hrishikesh Dhayagude 29ec0339f6 components/bt: Fix a probable memory leak for BTA_GATTS_CONF_EVT event
Multiple modules register their callback BTA_GATTS_AppRegister().

If any of the callbacks do not free the allocated pointer in
BTA_GATTS_CONF_EVT event, then this can result in memory leak.

So, free the pointer after the callback function is called and remove
the calls to free in the callback functions as it is now not required

Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-08-25 16:26:37 +00:00
Hrishikesh Dhayagude 739b4aadf7 components/bt: Make a pass through Bluetooth header files
This is just a quick glance at all the header files exposed to the
users from cleanup point of view.

Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-08-25 21:21:42 +05:30
zhiweijian f74b041288 Component/bt: fix memory leak in security server 2018-08-25 15:47:47 +00:00
wangmengyang 6b0a1bd700 component/bt: check support of AFH in remote slave device's LM feature then determine whether to send LMP_set_AFH 2018-08-24 11:48:12 +00:00
zhiweijian 1ca5b70803 Component/bt: fix get error adv packet sometimes 2018-08-24 09:24:49 +00:00
baohongde 9eefd8c1aa component/bt: Fix bug rfcomm test command cause crash
find when BQB
2018-08-24 14:49:33 +08:00
Jiang Jiang Jian eb18122038 Merge branch 'bugfix/esp_bt_controller_mem_release' into 'master'
BT/BTDM memory release might fail if any of the memory regions is empty

See merge request idf/esp-idf!3031
2018-08-23 11:02:17 +08:00
Jiang Jiang Jian 33f0eadac9 Merge branch 'bugfix/timer_oneshot_timeout_twice' into 'master'
component/bt: Some timer oneshot will timeout twice

See merge request idf/esp-idf!2979
2018-08-23 10:41:53 +08:00
baohongde 4fe04ae14d component/bt: Update BLE private address after it's private address interval 2018-08-21 11:01:44 +08:00
me-no-dev afa091fe79 prevent heap_caps_add_region exception if region is empty
Calling `esp_bt_controller_mem_release` or `esp_bt_mem_release` might result in exception if any of the regions returned to heap are empty. This happens usually if BT/BLE is enabled, but not used/linked in the final firmware.
2018-08-17 08:49:48 +02:00
Jiang Jiang Jian 5ba0d6bde6 Merge branch 'bugfix/ut_bt_build_fix' into 'master'
bt: build unit tests only when CONFIG_BT_ENABLED=1

See merge request idf/esp-idf!3000
2018-08-16 19:49:14 +08:00
Tian Hao ab73e0ff13 tools: fix ci example build report reassign warnning 2018-08-16 11:12:22 +08:00
Tian Hao ee787085f9 component/bt : decrease memory consumption by conn number
1. BLE only with 9(max) connection will decrease 3K DRAM
2. BR/EDR only with 7(max) connection will decrease 16K DRAM
3. Any of BLE or BR/EDR connection number decrease will also decrease DRAM consumption
4. Decrease one BLE connection will save about 1KB DRAM
5. Decrease one BR/EDR ACL connection will save about 1.2KB DRAM
6. Decrease one BR/EDR SCO/eSCO will save 2KB DRAM.
7. fix some definition and kconfig
8. remove 1.2k of vhci tx cache and make .bss & .data to heap about 1.4K
9. modify BT Reserved Memory size and modify example to support new bt kconfig
2018-08-14 02:29:17 +00:00
Ivan Grokhotkov 7fca027355 bt: build unit tests only when CONFIG_BT_ENABLED=1 2018-08-13 17:38:37 +03:00
Jiang Jiang Jian 886bf4b88e Merge branch 'bugfix/btdm_ecdh_public_key_not_check' into 'master'
component/bt: Fixed the vulnerability released by Bluetooth org when using…

See merge request idf/esp-idf!2933
2018-08-13 15:44:13 +08:00
yulong 72eaaff9fe component/bt: Fixed the vulnerability released by Bluetooth org when using public key not check in the process of ECDH encryption.
1. Add the 100 times test when the private key is generated by the random number;
2. Add the bt components to the unit-test-app/config directory.
3. Added the bt unit test case to CI.
2018-08-13 14:08:11 +08:00
baohongde 31c66af560 component/bt: Some timer oneshot will timeout twice
Find when BQB
2018-08-13 06:00:11 +00:00
zhiweijian 57355d7154 Component/bt: fix get bond list error when connection with no bond 2018-08-08 14:44:22 +08:00
Jiang Jiang Jian 212e25760b Merge branch 'bugfix/btdm_spp_crash_on_reset' into 'master'
component/bt: Fix bug of SPP crash on reset

See merge request idf/esp-idf!2801
2018-08-06 18:39:21 +08:00
Jiang Jiang Jian 744d703dba Merge branch 'bugfix/btdm_hfp_invalid_sco_param' into 'master'
bugfix/btdm_hfp_invalid_sco_param

See merge request idf/esp-idf!2915
2018-08-06 15:35:27 +08:00
wangmengyang d4cecc5a04 component/bt: modify the invalid retransmission setting for SCO link in HFP 2018-08-06 06:20:51 +00:00
Angus Gratton a5ae5ac4b3 soc: Allow components to reserve fixed memory ranges that they need
No longer necessary to keep all reserved addresses in 'soc'.

Means 'soc' does not need to know about 'bt', for example.

Also means that Bluetooth can be enabled in config without any memory being reserved for BT
controller. Only if code calling the BT controller is linked in, will this memory be reserved...
2018-08-06 01:37:55 +00:00
baohongde 2cd9eaccc7 component/bt: Fix bug of SPP crash on reset
In response to: https://github.com/espressif/esp-idf/issues/1998
2018-08-05 00:36:51 +00:00
zhiweijian 163dbc3200 Component/bt: fix SC_MITM_BOND failed in smp for iphones 2018-08-04 16:52:53 +00:00
Jiang Jiang Jian 4f1e8df367 Merge branch 'bugfix/btdm_a2dp_disconnect_reason' into 'master'
bugfix/btdm_a2dp_disconnect_reason

See merge request idf/esp-idf!2914
2018-08-03 15:30:30 +08:00
Angus Gratton 5aff7fd07f Merge branch 'bugfix/btdm_fix_queue_block_when_scanning' into 'master'
Component/bt: fix queue blocking when scanning

See merge request idf/esp-idf!2706
2018-08-03 07:24:08 +08:00
wangmengyang 7f7f8a02d0 component/bt: retrieve disconnection reason in AVDT when ACL-U link is disconnected 2018-08-01 17:16:52 +08:00