[qcom-next] serial: msm_geni: validate RX data with IRQ status - #88
Merged
Gopinath Sekar (g-sekar) merged 2 commits intoSep 13, 2026
Merged
Gopinath Sekar (g-sekar) merged 2 commits into
Gopinath Sekar (g-sekar) merged 2 commits into
Conversation
Member
|
I see this commit getting a NAK upstream, please incorporate upstream feedback. |
balajiselvanathan
force-pushed
the
uart_fix_qn
branch
from
July 7, 2026 09:14
60efbc6 to
f5c32a2
Compare
Author
addressed Casey' comments and pushed v2: https://lore.kernel.org/u-boot/20260707-uart-v2-0-d38277b6c4ce@oss.qualcomm.com/ |
Gopinath Sekar (g-sekar)
force-pushed
the
qcom-next
branch
from
July 10, 2026 05:51
beb3440 to
b0c0c8e
Compare
Gopinath Sekar (g-sekar)
force-pushed
the
qcom-next
branch
from
August 4, 2026 12:44
7a854f4 to
03312c4
Compare
Replace the abort-only RX initialization with a proper stop sequence that matches the Linux driver approach. The new qcom_geni_serial_stop_rx_fifo function sends a CANCEL command instead of immediately aborting, waits for completion, drains any remaining FIFO data if S_RX_FIFO_LAST_EN is set, and only sends ABORT as a fallback if the secondary sequencer remains active after cancellation. Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
balajiselvanathan
force-pushed
the
uart_fix_qn
branch
from
September 11, 2026 16:30
f5c32a2 to
3a84cab
Compare
…lags Add IRQ status validation to distinguish legitimate UART data from electrical noise in the RX FIFO. When the UART cable is disconnected, the floating RX line can pick up noise that the GENI hardware interprets as valid data and places in the FIFO. So, check the RX IRQ status register for RX watermark or last flags before reporting pending data. Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
balajiselvanathan
force-pushed
the
uart_fix_qn
branch
from
September 11, 2026 16:33
3a84cab to
f3656e2
Compare
|
Will merge this change since it is required for release and considering as workarond. |
Gopinath Sekar (g-sekar)
approved these changes
Sep 13, 2026
Gopinath Sekar (g-sekar)
approved these changes
Sep 13, 2026
Gopinath Sekar (g-sekar)
left a comment
There was a problem hiding this comment.
Approved Conditionally
Gopinath Sekar (g-sekar)
merged commit Sep 13, 2026
5ec66cb
into
qualcomm-linux:qcom-next
1 of 2 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The GENI UART hardware can retain stale data in the RX FIFO. The msm_serial_pending() function was reporting this stale data as pending input, causing U-Boot to incorrectly assume a key press and stop at the CLI prompt instead of continuing the boot process.
Add IRQ status validation to distinguish between legitimate received data and stale FIFO contents. Check the Secondary IRQ status register for RX watermark or last flags before reporting pending data. If the FIFO contains data but no valid IRQ flags are set, ignore it as stale.
Upstream link: https://lore.kernel.org/u-boot/20260629-uart-v1-1-cbc46fe1d7d3@oss.qualcomm.com/