wifi: mt76: mt7925: fix kernel warning in MLO ROC setup#1038
Open
zbowling wants to merge 1 commit intoopenwrt:masterfrom
Open
wifi: mt76: mt7925: fix kernel warning in MLO ROC setup#1038zbowling wants to merge 1 commit intoopenwrt:masterfrom
zbowling wants to merge 1 commit intoopenwrt:masterfrom
Conversation
…not configured mt7925_mcu_set_mlo_roc() uses WARN_ON_ONCE() to check if link_conf or channel is NULL. However, during MLO AP setup, it's normal for the channel to not be configured yet when this function is called. The WARN_ON_ONCE triggers a kernel warning/oops that makes the system appear to have crashed, even though it's just a timing issue. Replace WARN_ON_ONCE with regular NULL checks and return -ENOLINK to indicate the link isn't fully configured yet. This allows the upper layers to retry when the link is ready, without spamming the kernel log with warnings. Also add a check for mconf in the first loop to match the pattern used in the second loop, preventing potential NULL dereference. This fixes kernel oops reported during MLO AP setup on OpenWrt with MT7925E hardware. Signed-off-by: Zac Bowling <zac@zacbowling.com>
zbowling
added a commit
to zbowling/mt7925
that referenced
this pull request
Jan 1, 2026
Adds fix for mt7925_mcu_set_mlo_roc() kernel oops during MLO AP setup. Replaces WARN_ON_ONCE with proper NULL checks and returns -ENOLINK. Fixes OpenWrt issue #1014 reported on Radxa ROCK 5 ITX+. OpenWrt PR: openwrt/mt76#1038
zbowling
added a commit
to zbowling/mt7925
that referenced
this pull request
Jan 1, 2026
Adds fix for mt7925_mcu_set_mlo_roc() kernel oops during MLO AP setup. Replaces WARN_ON_ONCE with proper NULL checks and returns -ENOLINK. Fixes OpenWrt issue #1014 reported on Radxa ROCK 5 ITX+. OpenWrt PR: openwrt/mt76#1038
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.
During MLO AP setup,
mt7925_mcu_set_mlo_roc()can be called before alllinks have their channels configured. The existing code uses
WARN_ON_ONCE()to check for NULL link_conf and channel pointers, which triggers kernel
warnings/oops that appear as crashes even though it's just a timing issue.
This patch:
WARN_ON_ONCE()with regular NULL checks-ENOLINKto indicate the link isn't fully configuredThe
-ENOLINKreturn allows upper layers to retry when the link is ready,without spamming kernel logs with warnings.
Fixes: #1014 (kernel oops on MLO AP setup)
Related: This is part of a series fixing MLO stability issues in MT7925:
Testing: Addresses kernel oops reported on Radxa ROCK 5 ITX+ with OpenWrt.