fix(kernel/mvebu-6.18): restore SysRq-via-BREAK on dw-apb-uart (8250_dw)#9760
fix(kernel/mvebu-6.18): restore SysRq-via-BREAK on dw-apb-uart (8250_dw)#9760igorpecovnik merged 1 commit intomainfrom
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughReplaces scoped ChangesSysRq and Lock Pattern Fix for 8250 UART Handlers
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@patch/kernel/archive/mvebu-6.18/general-serial-8250-fix-sysrq-break-dw-apb.patch`:
- Around line 6-8: Update the patch header text in
patch/kernel/archive/mvebu-6.18/general-serial-8250-fix-sysrq-break-dw-apb.patch
so it targets the mvebu backport: replace references to the Rockchip
reproduction path ("RK3399 / helios64", "Linux 7.0") with the validated mvebu
details ("helios4 / Armada 388") or add a clear note that this is a verbatim
copy of the Rockchip patch; make the same textual change for the repeated
description block mentioned in lines 26-32 so the archive history accurately
reflects the mvebu backport context.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: f9c0ad4b-c504-43d1-a2fd-a24e16a834f8
📒 Files selected for processing (1)
patch/kernel/archive/mvebu-6.18/general-serial-8250-fix-sysrq-break-dw-apb.patch
0c10436 to
d39261f
Compare
There was a problem hiding this comment.
🧹 Nitpick comments (1)
patch/kernel/archive/mvebu-6.18/general-serial-8250-fix-sysrq-break-dw-apb.patch (1)
1-67: 💤 Low valuePatch header looks good; past description concern is resolved.
The new preamble (lines 6–16) explicitly identifies this as a verbatim copy from
rockchip64-7.0and records the mvebu validation details — this directly addresses the previous review note about misleadingRK3399/helios64/Linux 7.0references. The original description is clearly labeled as verbatim, leaving no ambiguity.One minor nit: the patch is missing a
Signed-off-by: Igor Velkov …line. Armbian downstream patches don't strictly require DCO sign-off, but it is conventional and helpful for audit trails.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@patch/kernel/archive/mvebu-6.18/general-serial-8250-fix-sysrq-break-dw-apb.patch` around lines 1 - 67, The patch header is missing the conventional DCO Signed-off-by line; add a "Signed-off-by: Igor Velkov <325961+iav@users.noreply.github.com>" (exact string) to the patch commit message/preamble for patch/kernel/archive/mvebu-6.18/general-serial-8250-fix-sysrq-break-dw-apb.patch so the commit metadata includes the author sign-off (place it after the existing commit description block, keeping the verbatim original text intact).
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In
`@patch/kernel/archive/mvebu-6.18/general-serial-8250-fix-sysrq-break-dw-apb.patch`:
- Around line 1-67: The patch header is missing the conventional DCO
Signed-off-by line; add a "Signed-off-by: Igor Velkov
<325961+iav@users.noreply.github.com>" (exact string) to the patch commit
message/preamble for
patch/kernel/archive/mvebu-6.18/general-serial-8250-fix-sysrq-break-dw-apb.patch
so the commit metadata includes the author sign-off (place it after the existing
commit description block, keeping the verbatim original text intact).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 582a946a-1a50-4fb2-a765-dd11d4f4abc8
📒 Files selected for processing (1)
patch/kernel/archive/mvebu-6.18/general-serial-8250-fix-sysrq-break-dw-apb.patch
The mvebu kernel uses the same dw-apb-uart driver (drivers/tty/serial/8250/8250_dw.c) on Armada 388 / 38x SoCs as RK3399 does, and inherits the same SysRq-via-BREAK regression introduced by the guard(uart_port_lock_irqsave) refactor that PR #9750 fixes for kernel-rockchip64-7.0. Verified on helios4 (Armada 388, kernel-mvebu 6.18-edge) 2026-05-05: - Without patch: BREAK + 'h' through picocom is consumed by the IRQ handler (port->sysrq_ch is latched correctly), but uart_unlock_and_check_sysrq_irqrestore() is never called from the handler tail, so handle_sysrq() never runs. - With patch: BREAK + 'h' produces 'sysrq: HELP : ...' on the serial console (after raising console_loglevel above the boot-default 1). - Diagnostic trace_printk patch (local userpatches, not part of this PR) confirmed that has_sysrq=1, sysrq_armed=jiffies+5HZ after BREAK, sysrq_ch=104 ('h'=0x68) after the next char — i.e. all preconditions for handle_sysrq() are met, the only thing missing was the call site, which this patch restores. This is a verbatim copy of the rockchip64-7.0 patch (PR #9750) into patch/kernel/archive/mvebu-6.18/. Hunk context matches, applies cleanly. Per-board impact is identical to the original PR #9750: any mvebu board whose serial console is dw-apb-uart-derived (Armada 38x family — helios4, espressobin, clearfog, etc.) gets working sysrq via BREAK back. Companion to PR #9750 (rockchip64-7.0). No upstream submission planned (per maintainer decision in #9750 thread). Assisted-by: Claude:claude-opus-4.7 Signed-off-by: Igor Velkov <325961+iav@users.noreply.github.com>
d39261f to
fa30763
Compare
|
✅ This PR has been reviewed and approved — all set for merge! |
|
I have no clue about mvebu nor do I have a helios4. Not sure what to say here. |
|
@EvilOlaf Then I apologize for disturbing you. |
Summary
drivers/tty/serial/8250/8250_dw.cdriver on Armada 38x as RK3399 does, and inherits the same SysRq-via-BREAK regression introduced by theguard(uart_port_lock_irqsave)refactor — which fix(kernel/rockchip64-7.0): restore SysRq-via-BREAK on dw-apb-uart (8250_dw) #9750 already fixes for kernel-rockchip64-7.0.patch/kernel/archive/mvebu-6.18/, applies cleanly (hunk context matches).Without the patch, BREAK + sysrq-char is received by the IRQ handler (
port->sysrq_chis latched correctly), butuart_unlock_and_check_sysrq_irqrestore()is never called from the handler tail, sohandle_sysrq()never runs.Tests done
picocom Ctrl-A 'C-\' hon the serial console:*** break sent ***followed immediately by[NNN.NNNNN][ C0] sysrq: HELP : loglevel(0-9) reboot(b) crash(c) ...(after raisingconsole_loglevelabove the boot-defaultloglevel=1, which otherwise filters KERN_INFO out of the console).trace_printkpatch (kept local inuserpatches, not part of this PR) confirmed in the same kernel thathas_sysrq=1,sysrq_armed=jiffies+5HZafter BREAK,sysrq_ch=104('h'=0x68) after the next char — i.e. all preconditions forhandle_sysrq()are met, and the only thing missing was the call site, which this patch restores.Scope
Companion to #9750. Any mvebu board whose serial console is dw-apb-uart-derived (Armada 38x family — helios4, espressobin, clearfog, etc.) gets working SysRq via BREAK back.
Summary by CodeRabbit