Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0a5c0b94 authored by Panicker Harish's avatar Panicker Harish
Browse files

serial: msm_geni_serial: check ioctl_count with auto_suspend enabled



Whenever rx sequencer is in the process of getting stopped and there
is an incoming data, we check the ioctl_count and if it is 0, the
stop_rx_sequencer will be aborted. We see a SMMU fault when the
auto_suspend is disabled which is reulting into ioctl_count 0 as the
clocks are not turned on.

Whenever there is a change in baud request and rx_sequencer is stopped,
if there is an incoming data, check ioctl_count is 0 along with auto
suspend is enabled or not before aborting the stop rx sequencer.

Change-Id: Ib2313398746f139295cf384b59a539ca079d1737
Signed-off-by: default avatarPrasanna S <quic_prass@quicinc.com>
Signed-off-by: default avatarPanicker Harish <quic_pharish@quicinc.com>
parent a0831f66
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1584,7 +1584,8 @@ static int stop_rx_sequencer(struct uart_port *uport)
			IPC_LOG_MSG(port->ipc_log_misc, "%s: Interrupt delay\n",
					 __func__);
			handle_rx_dma_xfer(s_irq_status, uport);
			if (!port->ioctl_count) {
			if (pm_runtime_enabled(uport->dev) &&
			    !port->ioctl_count) {
				usage_count = atomic_read(
						&uport->dev->power.usage_count);
				IPC_LOG_MSG(port->ipc_log_misc,