diff --git a/drivers/serial/uart_silabs_eusart.c b/drivers/serial/uart_silabs_eusart.c index e9244dfa3e1..b26549a3074 100644 --- a/drivers/serial/uart_silabs_eusart.c +++ b/drivers/serial/uart_silabs_eusart.c @@ -1017,7 +1017,7 @@ static int eusart_init(const struct device *dev) /* The peripheral and gpio clock are already enabled from soc and gpio driver */ /* Enable EUSART clock */ err = clock_control_on(config->clock_dev, (clock_control_subsys_t)&config->clock_cfg); - if (err < 0) { + if (err < 0 && err != -EALREADY) { return err; } diff --git a/drivers/serial/uart_silabs_usart.c b/drivers/serial/uart_silabs_usart.c index 3937ffbf07b..739628cf788 100644 --- a/drivers/serial/uart_silabs_usart.c +++ b/drivers/serial/uart_silabs_usart.c @@ -1019,7 +1019,7 @@ static int uart_silabs_init(const struct device *dev) /* The peripheral and gpio clock are already enabled from soc and gpio driver */ /* Enable USART clock */ err = clock_control_on(config->clock_dev, (clock_control_subsys_t)&config->clock_cfg); - if (err < 0) { + if (err < 0 && err != -EALREADY) { return err; }