Merge "serial: msm_geni_serial: race between port_close and wakeup bytes"

This commit is contained in:
qctecmdr 2023-03-09 00:23:53 -08:00 committed by Gerrit - the friendly Code Review server
commit 31d34740f9

View File

@ -2734,10 +2734,11 @@ static void msm_geni_serial_shutdown(struct uart_port *uport)
disable_irq(uport->irq);
} else {
msm_geni_serial_power_on(uport);
ret = wait_for_transfers_inflight(uport);
if (ret)
UART_LOG_DBG(msm_port->ipc_log_misc, uport->dev,
"%s wait_for_transfer_inflight return ret: %d", __func__, ret);
if (msm_port->wakeup_irq > 0 && msm_port->wakeup_enabled) {
irq_set_irq_wake(msm_port->wakeup_irq, 0);
disable_irq(msm_port->wakeup_irq);
msm_port->wakeup_enabled = false;
}
msm_geni_serial_stop_tx(uport);
}
@ -2761,12 +2762,6 @@ static void msm_geni_serial_shutdown(struct uart_port *uport)
"%s: Failed to suspend:%d\n", __func__, ret);
}
if (msm_port->wakeup_irq > 0 && msm_port->wakeup_enabled) {
irq_set_irq_wake(msm_port->wakeup_irq, 0);
disable_irq(msm_port->wakeup_irq);
msm_port->wakeup_enabled = false;
}
if (!IS_ERR_OR_NULL(msm_port->serial_rsc.geni_gpio_shutdown)) {
ret = pinctrl_select_state(
msm_port->serial_rsc.geni_pinctrl,