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 * 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, .stop_bits = stop_bits,
.flow_ctrl = HCI_UART_FLOWCTRL, .flow_ctrl = HCI_UART_FLOWCTRL,
.source_clk = UART_SCLK_DEFAULT, .source_clk = UART_SCLK_DEFAULT,
.rx_flow_ctrl_thresh = UART_FIFO_LEN - 1,
}; };
hci_uart.port = port_num; hci_uart.port = port_num;
hci_uart.cfg = uart_cfg; 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) int hci_uart_close(int port_num)
{ {
uart_event_t uart_event;
uart_event.type = UART_BREAK;
hci_uart.uart_opened = false; hci_uart.uart_opened = false;
// Stop uart rx task // Stop uart rx task
if (hci_uart.rx_task_handler != NULL) { if (hci_uart.rx_task_handler != NULL) {
xQueueSend(hci_uart.evt_queue, (void *)&uart_event, 1000);
ESP_LOGW(TAG, "Waiting for uart task finish..."); ESP_LOGW(TAG, "Waiting for uart task finish...");
} }
while (hci_uart.rx_task_handler != NULL); while (hci_uart.rx_task_handler != NULL);