This is a set of two patches that fix problems related to suspending while a serial transfer is going on. The two patches are independent from each other and can land in any order. The only thing tying them together is that I used the same test to reproduce both of them. Specifically, I could reproduce my problemes by logging in via an agetty on the debug serial port (which was _not_ used for kernel console) and running: cat /var/log/messages ...and then (via an SSH session) forcing a few suspend/resume cycles. The first patch solves a problem that is probably more major. It was introduced recently and has even shown up in stable trees. Suspend/resume testing in ChromeOS test labs are hitting the problem fixed by this patch. The fix hasn't been tested in labs, but when I reproduced the problem locally I could see that the fix worked. IMO it should land ASAP. The second patch fixes an ancient problem that I only found because I was trying to reproduce the first problem. Given how long it's been around it's probably not urgent but it would be nice to get fixed. Douglas Anderson (2): serial: port: Don't block system suspend even if bytes are left to xmit serial: qcom-geni: Fix qcom_geni_serial_stop_tx_fifo() while xfer drivers/tty/serial/qcom_geni_serial.c | 45 +++++++++++++++++++++++++-- drivers/tty/serial/serial_port.c | 10 ++++++ 2 files changed, 52 insertions(+), 3 deletions(-) -- 2.45.1.288.g0e0cd299f1-goog