diff options
author | Erwan Le Ray <erwan.leray@foss.st.com> | 2021-03-04 17:23:01 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-03-10 09:34:10 +0100 |
commit | 12761869f0efa524348e2ae31827fd52eebf3f0d (patch) | |
tree | b245931290011257006ed424bed902abe2566be5 /block/partitions/sgi.c | |
parent | serial: stm32: fix a deadlock condition with wakeup event (diff) | |
download | linux-12761869f0efa524348e2ae31827fd52eebf3f0d.tar.xz linux-12761869f0efa524348e2ae31827fd52eebf3f0d.zip |
serial: stm32: fix wake-up flag handling
This patch fixes several issue with wake-up handling:
- the WUF irq is handled several times at wake-up
- the USART is disabled / enabled at suspend to set wake-up flag.
It can cause glitches during RX.
This patch fix those issues:
- clear wake-up flag and disable wake-up irq in WUF irq handling
- enable wake-up from low power on start bit detection at port
configuration
- Unmask the wake-up flag irq at suspend and mask it at resume
In addition, pm_wakeup_event handling is moved from receice_chars to WUF
irq handling.
Fixes: 270e5a74fe4c ("serial: stm32: add wakeup mechanism")
Signed-off-by: Erwan Le Ray <erwan.leray@foss.st.com>
Link: https://lore.kernel.org/r/20210304162308.8984-7-erwan.leray@foss.st.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'block/partitions/sgi.c')
0 files changed, 0 insertions, 0 deletions