diff --git a/drivers/serial/uart_stm32.c b/drivers/serial/uart_stm32.c index 4ae4ccf6eee..ed82d91d150 100644 --- a/drivers/serial/uart_stm32.c +++ b/drivers/serial/uart_stm32.c @@ -1792,10 +1792,14 @@ static int uart_stm32_pm_action(const struct device *dev, /* Move pins to sleep state */ err = pinctrl_apply_state(config->pcfg, PINCTRL_STATE_SLEEP); - if (err == -ENOENT) { - /* Warn but don't block PM suspend */ - LOG_WRN("(LP)UART pinctrl sleep state not available "); - } else if (err < 0) { + if ((err < 0) && (err != -ENOENT)) { + /* + * If returning -ENOENT, no pins where defined for sleep mode : + * Do not output on console (might sleep already) when going to sleep, + * "(LP)UART pinctrl sleep state not available" + * and don't block PM suspend. + * Else return the error. + */ return err; } break;