SM8750: fix wcn7860 crash on passive multi-band Wi-Fi scan - #3171
Open
slaide wants to merge 2 commits into
Open
Conversation
spycat88
force-pushed
the
next
branch
2 times, most recently
from
August 13, 2026 00:00
c93f6bd to
135d112
Compare
Device patch 0615: in ath12k_mac_initiate_hw_scan(), skip WMI_SCAN_FLAG_PASSIVE when a scan with no SSIDs spans 2.4 GHz and 5/6 GHz. Per-channel passive and DFS flags from WMI_SCAN_CHAN_LIST still apply, so channels that may not be probed still are not probed. - keyed to hw_rev ATH12K_HW_WCN7860_HW20 - iwd's periodic scan sends no SSIDs, so this fired every 30 s
slaide
force-pushed
the
sm8750-ath12k-passive-scan-crash
branch
from
August 14, 2026 12:23
4c433be to
ebcc351
Compare
Adds 0616. The wcn7860 firmware stops handing up management frames once a scan request carries too many channels, so APs in range never reach the results. Against a -47 dBm AP at the same 54 ms dwell: 8 channels gave 60 frames and found it, 20 gave 24 and did not. ath12k_mac_scan_start_chunk() issues 8 channels per WMI scan and ath12k_scan_vdev_clean_work() chains the next chunk instead of reporting completion. Full-channel scans find the AP 7/8, was 0/8.
slaide
force-pushed
the
sm8750-ath12k-passive-scan-crash
branch
from
August 14, 2026 12:32
ebcc351 to
9cad71b
Compare
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.
Summary
fully passive wifi scans across 2.4ghz + 5/6ghz bands, like the iwd scan running every 30s, crash the wcn7860 firmware, stop doing that (stop crashing, not stop scanning).
also, a scan request carrying too many channels may return an incomplete list of APs, fixed by chunking scan requests.
Testing
tested on the konkr pocket fit elite.
iwd runs a no-probe scan every 30s, which ath12k maps to a fully passive scan. this crashes the wcn7860 firmware. with this change, ath12k does not add the fully_passive flag to no-probe scans if the scan spans multiple bands, fixing the crash.
the channel scan results previously failed to find certain access points, now all APs in range are found.
Additional Context
i dont know why the firmware crashes with a fully passive scan across multiple bands. fully passive on a single band is fine, active across single or multiple is also fine.
also, once again I dont know which devices to constrain this to, similar to #3170
wcn7860 firmware version on my device is WLAN.GNG.1.0-04065-QCAGNGSWPL_V1.0_V2.0_SILICONZ-1
AI Usage
While ROCKNIX doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it
helps set the right context for reviewers.
Did you use AI tools to help write this code? YES | PARTIALLY | NO
yes