serial: Propagate missing UART fix 4.19 to 5.4
msm_geni_serial: Use the common driver API for dma_alloc
msm: msm-geni-se: Make DFS clock table specific to SE of QUP
serial: msm_geni_serial: Don't depend on clock freq table to set baud
rate
msm-geni-serial: Correct the interrupt polling logic in uart
serial: msm_geni_serial: Improve IPC logging in UART driver
serial: msm_geni_serial: drop port->lock before tty_flip_buffer_push()
call
serial: msm_geni_serial: No need to stop_tx/rx on UART shutdown
serial: msm_geni_serial: Do not check_transfers_inflight() post
port_close
serial: msm_geni_serial: Enable IRQ from port startup
serial: msm_geni_serial: Fix geni_wait_for_cmd_done timeouts
serial: msm_geni_serial: Do not drop port->lock in polling mode
Also, fix stackoverflow issue seen after propagating above changes.
Console TX is getting stuck in recursive call and leading to
stackoverflow issue.
Steps that leads to bad recursion call:
1) msm_geni_serial_handle_tx calls for stop_tx if all the data are sent and
acknowledged.
2) stop_tx issue cancel command if the main sequencer is still
active.
3) As part of cancel command execution msm_geni_serial_handle_tx is called
again that takes us to step 1 and goes in a loop.
To fix above scenario remove the stop_tx call from geni_serial_handle_tx
because if the data is transmited and acknowledged main sequencer should
automatically go to inactive state.
Ideally we should never enter into this situation the first place because
after receiving CMD_DONE we expect that sequencer will go IDLE/inactive.
So, probably this can be a race btw updation of CMD_DONE and GENI_STATUS
register because after adding some more IPC logs in the above code path we
are not hitting this issue. It might be adding required delay.
Change-Id: I85cfe87170ea347c4b8d98c858cc762da413624f
Signed-off-by:
Prudhvi Yarlagadda <pyarlaga@codeaurora.org>
Signed-off-by:
Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
Signed-off-by:
Mukesh Kumar Savaliya <msavaliy@codeaurora.org>
Signed-off-by:
Akash Asthana <akashast@codeaurora.org>
Loading
Please register or sign in to comment