Merge branch 'fix/fix_ot_uart_init_bug_v5.3' into 'release/v5.3'

fix(openthread): fix a bug of openthread uart init port (v5.3)

See merge request espressif/esp-idf!37323
This commit is contained in:
Shu Chen 2025-02-27 15:36:18 +08:00
commit 5c06d62702

View File

@ -1,5 +1,5 @@
/* /*
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD * SPDX-FileCopyrightText: 2021-2025 Espressif Systems (Shanghai) CO LTD
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
@ -66,12 +66,12 @@ esp_err_t esp_openthread_uart_init_port(const esp_openthread_uart_config_t *conf
#ifndef CONFIG_ESP_CONSOLE_UART #ifndef CONFIG_ESP_CONSOLE_UART
// If UART console is used, UART vfs devices should be registered during startup. // If UART console is used, UART vfs devices should be registered during startup.
// Otherwise we need to register them here. // Otherwise we need to register them here.
DIR *uart_dir = opendir("/dev/uart"); char uart_path[16];
if (!uart_dir) { snprintf(uart_path, sizeof(uart_path), "/dev/uart/%d", config->port);
bool is_uart_registered = (access(uart_path, F_OK) == 0);
if (!is_uart_registered) {
// If UART vfs devices are registered, we will failed to open the directory // If UART vfs devices are registered, we will failed to open the directory
uart_vfs_dev_register(); uart_vfs_dev_register();
} else {
closedir(uart_dir);
} }
#endif #endif
ESP_RETURN_ON_ERROR(uart_param_config(config->port, &config->uart_config), OT_PLAT_LOG_TAG, ESP_RETURN_ON_ERROR(uart_param_config(config->port, &config->uart_config), OT_PLAT_LOG_TAG,