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

Skip to content
Commit 2129e338 authored by Chandana Kishori Chiluveru's avatar Chandana Kishori Chiluveru
Browse files

serial: msm_geni_serial: Enable IRQ from port startup



uport->lock was first initialized in msm_geni_serial_probe() with IRQ
enabled and calling uart_add_one_port() API. Same uport->lock will
be re-initialized again from uart_add_one_port() context.

In issue case IRQ is getting fired in one core and acquiring uport-> lock,
at the same time uport->lock is getting re-initialized by serial_core.c
driver on other core and changing the lock owner value to initial value.
When msm_geni_serial_isr() trying unlock uport->lock it is checking for
owner value with initialized value and reporting kernel crash.

Fix this by setting NO_AUTO_ENABLE flag while IRQ registration in probe
and enable and disable the IRQ form port_open and port_close.

Also added changes in this patch to do not stop RX engine from
msm_geni_serial_poll_tx_done API. Currently driver sending
S_GENI_CMD_CANCEL instead of M_GENI_CMD_CANCEL to cancel TX.

Change-Id: I4077f07335f572f190f2f17eb6ee1bf99fe5f189
Signed-off-by: default avatarChandana Kishori Chiluveru <cchiluve@codeaurora.org>
parent 905db259
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment