From ac124ee89c383eb0d44d58d51847e4c704e2a851 Mon Sep 17 00:00:00 2001 From: baohongde Date: Tue, 6 Nov 2018 17:29:06 +0800 Subject: [PATCH] components/bt: Point ACL RX buffer ptr to ACL RX buffer if ACL RX buffer ptr is null(backprot 3.1) 1. When WIFI task or other high priority task blocks the Bluetooth task, ACL RX buffer will use up, ACL RX buffer ptr will point to null and will never point to a valid adress. Causing errors in Bluetooth. 2. hcimsgs.h used whether flow control is on or off --- components/bt/bluedroid/hci/hci_hal_h4.c | 2 +- components/bt/lib | 2 +- components/esp32/ld/esp32.rom.ld | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/components/bt/bluedroid/hci/hci_hal_h4.c b/components/bt/bluedroid/hci/hci_hal_h4.c index e910aa7b73..ecfaa5dbad 100644 --- a/components/bt/bluedroid/hci/hci_hal_h4.c +++ b/components/bt/bluedroid/hci/hci_hal_h4.c @@ -26,10 +26,10 @@ #include "hci/hci_layer.h" #include "osi/thread.h" #include "esp_bt.h" +#include "stack/hcimsgs.h" #if (C2H_FLOW_CONTROL_INCLUDED == TRUE) #include "l2c_int.h" -#include "stack/hcimsgs.h" #endif ///C2H_FLOW_CONTROL_INCLUDED == TRUE #define HCI_HAL_SERIAL_BUFFER_SIZE 1026 diff --git a/components/bt/lib b/components/bt/lib index ff4154c5b9..889357de09 160000 --- a/components/bt/lib +++ b/components/bt/lib @@ -1 +1 @@ -Subproject commit ff4154c5b9432479eaf01dd35d61d7450f25e606 +Subproject commit 889357de09ea99c6fd7a21252dcfa3564ab18869 diff --git a/components/esp32/ld/esp32.rom.ld b/components/esp32/ld/esp32.rom.ld index 2003899793..fe692a7965 100644 --- a/components/esp32/ld/esp32.rom.ld +++ b/components/esp32/ld/esp32.rom.ld @@ -704,6 +704,7 @@ PROVIDE ( ld_acl_tx = 0x4002ffdc ); PROVIDE ( ld_acl_rx_sync = 0x4002fbec ); PROVIDE ( ld_acl_rx_sync2 = 0x4002fd8c ); PROVIDE ( ld_acl_rx_no_sync = 0x4002fe78 ); +PROVIDE ( ld_acl_clk_isr = 0x40030cf8 ); PROVIDE ( ld_sco_modify = 0x40031778 ); PROVIDE ( lm_cmd_cmp_send = 0x40051838 ); PROVIDE ( ld_sco_frm_cbk = 0x400349dc ); @@ -1415,8 +1416,8 @@ PROVIDE ( esp_rom_spiflash_attach = 0x40062a6c ); PROVIDE ( esp_rom_spiflash_config_clk = 0x40062bc8 ); PROVIDE ( g_rom_spiflash_chip = 0x3ffae270 ); -/* -These functions are xtos-related (or call xtos-related functions) and do not play well +/* +These functions are xtos-related (or call xtos-related functions) and do not play well with multicore FreeRTOS. Where needed, we provide alternatives that are multicore compatible. These functions also use a chunk of static RAM, by not using them we can allocate that RAM for general use.