drivers: serial: stm32 uart driver avoid LOG_WRN when going to sleep
When the LOG_WRN is used on stm32 uart driver it could block execution : when pin state for sleep mode is not defined by the DTS even if no error is raised, LOG_ msg is crashing when entering sleep mode. Signed-off-by: Francois Ramu <francois.ramu@st.com>
This commit is contained in:
parent
205a077118
commit
7dff172519
1 changed files with 8 additions and 4 deletions
|
@ -1792,10 +1792,14 @@ static int uart_stm32_pm_action(const struct device *dev,
|
||||||
|
|
||||||
/* Move pins to sleep state */
|
/* Move pins to sleep state */
|
||||||
err = pinctrl_apply_state(config->pcfg, PINCTRL_STATE_SLEEP);
|
err = pinctrl_apply_state(config->pcfg, PINCTRL_STATE_SLEEP);
|
||||||
if (err == -ENOENT) {
|
if ((err < 0) && (err != -ENOENT)) {
|
||||||
/* Warn but don't block PM suspend */
|
/*
|
||||||
LOG_WRN("(LP)UART pinctrl sleep state not available ");
|
* If returning -ENOENT, no pins where defined for sleep mode :
|
||||||
} else if (err < 0) {
|
* 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;
|
return err;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue