From 3333f8c74d78d38b1255e45949403a1ac65c1b26 Mon Sep 17 00:00:00 2001 From: baohongde Date: Fri, 20 Sep 2019 11:45:32 +0800 Subject: [PATCH] components/bt: Backports some bugfix to v3.0 1. bugfix for the error in calculation sniff anchor point which can result in supervision timeout after connection is brought into sniff mode 2. bugfix of error when entering sniff mode with attempt large than 0xFF 3. clear BT/BLE interrupts after controller_disable to overwrite the default non-zero value of intcntl registers. --- components/bt/bluedroid/stack/include/hcimsgs.h | 5 ++++- components/bt/lib | 2 +- components/esp32/ld/esp32.rom.ld | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/components/bt/bluedroid/stack/include/hcimsgs.h b/components/bt/bluedroid/stack/include/hcimsgs.h index d360a9a12..4e537bf13 100644 --- a/components/bt/bluedroid/stack/include/hcimsgs.h +++ b/components/bt/bluedroid/stack/include/hcimsgs.h @@ -275,7 +275,10 @@ BOOLEAN btsnd_hcic_hold_mode(UINT16 handle, UINT16 max_hold_period, #define HCI_HOLD_MODE_MIN_PER_OFF 4 /* Hold Mode */ -/* Sniff Mode */ +/** + * Sniff Mode + * sniff_attempt should no more than 0xFF + */ BOOLEAN btsnd_hcic_sniff_mode(UINT16 handle, UINT16 max_sniff_period, UINT16 min_sniff_period, diff --git a/components/bt/lib b/components/bt/lib index 84b35d5b6..8623625b6 160000 --- a/components/bt/lib +++ b/components/bt/lib @@ -1 +1 @@ -Subproject commit 84b35d5b6ba968d29e88df77d137916c48c4b6e1 +Subproject commit 8623625b6d3fe7ddc6820b49d3ff16fea1570ac8 diff --git a/components/esp32/ld/esp32.rom.ld b/components/esp32/ld/esp32.rom.ld index 4be6b114a..72ecbfa63 100644 --- a/components/esp32/ld/esp32.rom.ld +++ b/components/esp32/ld/esp32.rom.ld @@ -197,6 +197,7 @@ PROVIDE ( ld_acl_br_sizes = 0x3ff98a2a ); PROVIDE ( ld_acl_br_types = 0x3ff98a36 ); PROVIDE ( ld_acl_edr_sizes = 0x3ff98a14 ); PROVIDE ( ld_acl_edr_types = 0x3ff98a22 ); +PROVIDE ( ld_acl_sniff_frm_cbk = 0x4003482c ); PROVIDE ( ld_env = 0x3ffb9510 ); PROVIDE ( ld_pcm_settings_dft = 0x3ff98a0c ); PROVIDE ( ld_sched_params = 0x3ffb96c0 );