Merge branch 'bugfix/fixed_hci_uart_flow_ctrl_error_on_esp32c2_v5.0' into 'release/v5.0'

Bugfix/fixed hci uart flow ctrl error on esp32c2 v5.0

See merge request espressif/esp-idf!21887
This commit is contained in:
Jiang Jiang Jian 2023-02-27 15:08:28 +08:00
commit 2ab97d57f9

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -122,6 +122,7 @@ int hci_uart_config(int port_num, int32_t baud_rate, uint8_t data_bits, uint8_t
.stop_bits = stop_bits,
.flow_ctrl = HCI_UART_FLOWCTRL,
.source_clk = UART_SCLK_DEFAULT,
.rx_flow_ctrl_thresh = UART_FIFO_LEN - 1,
};
hci_uart.port = port_num;
hci_uart.cfg = uart_cfg;
@ -175,9 +176,12 @@ int hci_uart_init_cbs(int port_num, hci_uart_tx_char tx_func,
int hci_uart_close(int port_num)
{
uart_event_t uart_event;
uart_event.type = UART_BREAK;
hci_uart.uart_opened = false;
// Stop uart rx task
if (hci_uart.rx_task_handler != NULL) {
xQueueSend(hci_uart.evt_queue, (void *)&uart_event, 1000);
ESP_LOGW(TAG, "Waiting for uart task finish...");
}
while (hci_uart.rx_task_handler != NULL);