Skip to content

fix NULL deref when MLO link activation fails#567

Merged
sgaud-quic merged 2 commits into
qualcomm-linux:qcom-6.18.yfrom
WeiZhang-stone:mlo-panic-fix
May 13, 2026
Merged

fix NULL deref when MLO link activation fails#567
sgaud-quic merged 2 commits into
qualcomm-linux:qcom-6.18.yfrom
WeiZhang-stone:mlo-panic-fix

Conversation

@WeiZhang-stone
Copy link
Copy Markdown

ath12k_mac_op_change_sta_links() adds a link to ahsta->links_map
before verifying that the link's vdev is ready, allowing broken links
to be processed by subsequent operations and causing NULL dereferences.

Patch 1 fixes three error path inconsistencies in ath12k_mac_vdev_create()
that leave arvif state or vdev resources inconsistent: a direct return on
wmi_vdev_create failure bypasses err: which clears arvif->ar; and both
failure paths in err_peer_del skip the DP peer cleanup and vdev rollback.

Patch 2 uses arvif->is_created (made reliable by patch 1) to guard
against links with no vdev before allocating a link station, preventing
broken links from entering links_map.

CRs-Fixed: 4459855

…rror paths

ath12k_mac_vdev_create() has three error path issues that leave arvif
in an inconsistent state:

1. When ath12k_wmi_vdev_create() fails, the function returns directly
   without clearing arvif->ar, which was already set before the WMI
   call. Subsequent code checking arvif->ar to determine vdev readiness
   will see a non-NULL value despite no vdev existing in firmware.

2. When ath12k_wmi_send_peer_delete_cmd() fails in err_peer_del, the
   code jumped to err: skipping the DP peer cleanup and vdev rollback,
   leaving num_created_vdevs, vdev maps and arvif list membership live.

3. When ath12k_wait_for_peer_delete_done() fails, the code jumped to
   err_vdev_del: skipping the DP peer cleanup.

Fix by changing the ath12k_wmi_vdev_create() failure to goto err instead
of returning directly, routing both err_peer_del failure paths through
err_dp_peer_del: for proper DP peer and vdev rollback, and consolidating
the arvif state cleanup at err:.

Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3

Fixes: 477cabf ("wifi: ath12k: modify link arvif creation and removal for MLO")
Link: https://lore.kernel.org/linux-wireless/20260512044906.1735821-1-wei.zhang@oss.qualcomm.com/
Signed-off-by: Wei Zhang <wei.zhang@oss.qualcomm.com>
…y link

_ieee80211_set_active_links() calls _ieee80211_link_use_channel() for
each newly-added link and WARN_ON_ONCE()s if it fails. The call uses
assign_on_failure=true, which allows mac80211 to continue despite
driver failures, but when a mac80211-level channel validation fails
(e.g., combinations check, DFS, or no available radio),
drv_assign_vif_chanctx() is never reached. Since ath12k_mac_vdev_create()
is only called from that path, arvif->is_created remains false and
arvif->ar remains NULL for the failed link.

The subsequent drv_change_sta_links() call reaches
ath12k_mac_op_change_sta_links(), which allocates an arsta and sets
ahsta->links_map |= BIT(link_id) for the broken link before checking
whether the link is ready. When the vdev was never created, only
station_add() is skipped, but the link remains in links_map.

Any subsequent operation iterating links_map and dereferencing arvif->ar
without a NULL check will crash. Two observed examples are NULL deref in
ath12k_mac_ml_station_remove() on disconnect and in ath12k_mac_op_set_key()
when wpa_supplicant installs PTK keys.

  BUG: Unable to handle kernel NULL pointer dereference at 0x00000000
  pc : ath12k_mac_station_post_remove+0x40/0xe8 [ath12k]
  Call trace:
   ath12k_mac_station_post_remove+0x40/0xe8 [ath12k]
   ath12k_mac_op_sta_state+0xb60/0x1720 [ath12k]
   drv_sta_state+0x100/0xbd8 [mac80211]
   __sta_info_destroy_part2+0x148/0x178 [mac80211]
   ieee80211_set_disassoc+0x500/0x678 [mac80211]

  BUG: Unable to handle kernel NULL pointer dereference at 0x00000000
  pc : ath12k_mac_op_set_key+0x1f8/0x2c0 [ath12k]
  Call trace:
   ath12k_mac_op_set_key+0x1f8/0x2c0 [ath12k]
   drv_set_key+0x70/0x100 [mac80211]
   ieee80211_key_enable_hw_accel+0x78/0x260 [mac80211]
   ieee80211_add_key+0x16c/0x2ac [mac80211]
   nl80211_new_key+0x138/0x280 [cfg80211]

Fix this by checking arvif->is_created before calling
ath12k_mac_alloc_assign_link_sta(). This prevents the broken link from
entering links_map, so all subsequent operations iterating the bitmap
are protected. The reliability of arvif->is_created across all error
paths is ensured by the preceding patch.

Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3

Fixes: a27fa61 ("wifi: ath12k: support change_sta_links() mac80211 op")
Link: https://lore.kernel.org/linux-wireless/20260512044906.1735821-1-wei.zhang@oss.qualcomm.com/
Signed-off-by: Wei Zhang <wei.zhang@oss.qualcomm.com>
@qswat-orbit-external
Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

No associated change tasks found for CR 4459855 on any of the following entities:

Entities:

  • kernel.qli.2.0

CR: 4459855

Please ensure the CR has a change task associated with at least one of the entities for this branch.

@quic-khuzuri
Copy link
Copy Markdown

PR #567 — validate-patch

PR: #567

Verdict Issues Detailed Report
⚠️ 0 pr_only_validate_patch_detailed.md
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: PR #567FROMLIST: wifi: ath12k: fix inconsistent arvif state in vdev_create error paths + fix NULL deref in change_sta_links for unready link (2-patch series)
Upstream commits:

Note: Network access to lore.kernel.org was unavailable in this environment, so byte-for-byte diff comparison against the fetched mbox was not possible. The analysis below is based on static inspection of pr.patch — commit messages, diff content, metadata, and internal consistency. All structural and metadata findings are definitive; diff faithfulness is assessed from the patch content itself.


Commit Message — Patch 1/2

Check Status Note
Subject matches upstream FROMLIST: wifi: ath12k: fix inconsistent arvif state in vdev_create error paths — prefix correctly applied
Body preserves rationale Three numbered error-path issues described in full; fix rationale clearly stated
Fixes tag present/correct Fixes: 477cabfdb776 ("wifi: ath12k: modify link arvif creation and removal for MLO") — well-formed
Authorship preserved FROMLIST: prefix — From: Wei Zhang <wei.zhang@oss.qualcomm.com> is the submitter/author; original lore author's Signed-off-by: Wei Zhang <wei.zhang@oss.qualcomm.com> is present (same person)
Backport note N/A FROMLIST: — not a backport
Link tag correct Points to 20260512044906.1735821-1-wei.zhang@oss.qualcomm.com — correct for patch 1

Commit Message — Patch 2/2

Check Status Note
Subject matches upstream FROMLIST: wifi: ath12k: fix NULL deref in change_sta_links for unready link — prefix correctly applied
Body preserves rationale Full crash traces included; root cause and fix rationale well-documented
Fixes tag present/correct Fixes: a27fa6148dac ("wifi: ath12k: support change_sta_links() mac80211 op") — well-formed
Authorship preserved Same author/submitter; Signed-off-by: present
Backport note N/A FROMLIST: — not a backport
Link tag correct ⚠️ Points to 20260512044906.1735821-1-wei.zhang@oss.qualcomm.com — should be -2- for the second patch in the series

Diff

File Status Notes
drivers/net/wireless/ath/ath12k/mac.c (patch 1) Three hunks: return retgoto err; goto errgoto err_dp_peer_del; goto err_vdev_delgoto err_dp_peer_del; moves arvif->is_created = false + arvif->ar = NULL to err: label — logically consistent with stated fix
drivers/net/wireless/ath/ath12k/mac.c (patch 2) Reorders arvif NULL/is_created guard before ath12k_mac_alloc_assign_link_sta(); removes now-redundant if (!ar) continue — logically consistent with stated fix and correctly depends on patch 1's is_created reliability

Patch index chain is internally consistent: patch 1 output blob 5473baad8197f == patch 2 input blob 5473baad8197f


Dependency Check

Check Status Note
Patch 2 depends on patch 1 Explicitly stated in patch 2 body; both patches present in same PR as [PATCH 1/2] / [PATCH 2/2]; index chain confirms correct ordering
No missing header/helper changes Both patches touch only mac.c; no new helpers or header changes required

qcom-next Presence

Commit Status
FROMLIST: wifi: ath12k: fix inconsistent arvif state in vdev_create error paths ⏭️ Skipped — network unavailable; verify manually
FROMLIST: wifi: ath12k: fix NULL deref in change_sta_links for unready link ⏭️ Skipped — network unavailable; verify manually

Issues

  1. Patch 2/2 — Wrong Link: message-ID (⚠️ WARNING): The Link: tag in patch 2 points to 20260512044906.1735821-1-wei.zhang@oss.qualcomm.com, which is the message-ID of patch 1. For a 2-patch series, patch 2 must link to its own message-ID: 20260512044906.1735821-2-wei.zhang@oss.qualcomm.com. This is a copy-paste error that makes it impossible to trace patch 2 back to its exact lore posting.
    • Fix: Amend patch 2's commit message, changing the Link: line to:
      Link: https://lore.kernel.org/linux-wireless/20260512044906.1735821-2-wei.zhang@oss.qualcomm.com/
      

Verdict

Both patches are well-structured FROMLIST: commits with correct authorship, complete rationale, well-formed Fixes: tags, and internally consistent diffs; the only issue is that patch 2/2 carries the wrong Link: message-ID (points to -1- instead of -2-). Fix the Link: tag in patch 2 and the series is ready to merge.

@quic-khuzuri
Copy link
Copy Markdown

PR #567 — checker-log-analyzer

PR: #567
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/25718515079

Checker Result Summary
Checker Result Summary
checkpatch COMMIT_LOG_LONG_LINE WARNING on both commits — Tested-on: line exceeds 75 chars
dt-binding-check qcom,eud.yaml passed both dt_binding_check and dtbs_check
dtb-check Test passed
sparse-check sparse-check.sh passed — no new warnings in changed files
check-uapi-headers SHA ancestry CI infrastructure bug — not a patch defect
check-patch-compliance Something seems wrong with the provided link for both commits
tag-check Both commits carry FROMLIST: prefix — satisfies qcom-6.18.y requirement
qcom-next-check ⚠️ Both FROMLIST: commits — cannot verify qcom-next presence without network access

Detailed report: pr_only_checker_log_detailed.md

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #567FROMLIST: wifi: ath12k: fix inconsistent arvif state + fix NULL deref in change_sta_links (2 commits)
Target branch: qcom-6.18.y
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/25718515079

Checker Result Summary
checkpatch COMMIT_LOG_LONG_LINE WARNING on both commits — Tested-on: line exceeds 75 chars
dt-binding-check qcom,eud.yaml passed both dt_binding_check and dtbs_check
dtb-check Test passed
sparse-check sparse-check.sh passed — no new warnings in changed files
check-uapi-headers SHA ancestry CI infrastructure bug — not a patch defect
check-patch-compliance Something seems wrong with the provided link for both commits
tag-check Both commits carry FROMLIST: prefix — satisfies qcom-6.18.y requirement
qcom-next-check ⚠️ Both FROMLIST: commits — cannot verify qcom-next presence without network access

❌ checkpatch

Root cause: Both commit messages contain a Tested-on: tag line that exceeds the 75-character soft limit, triggering COMMIT_LOG_LONG_LINE on each commit.

Failure details:

Commit 6fca2b753a82 ("FROMLIST: wifi: ath12k: fix inconsistent arvif state in vdev_create error paths")
WARNING: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#27:
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3

6fca2b753a82 total: 0 errors, 1 warnings, 0 checks, 38 lines checked

Commit 11c75b125aa6 ("FROMLIST: wifi: ath12k: fix NULL deref in change_sta_links for unready link")
WARNING: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#51:
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3

11c75b125aa6 total: 0 errors, 1 warnings, 0 checks, 20 lines checked

Fix: The Tested-on: line is a well-known ath12k convention and is intentionally long (hardware firmware string). This is a WARNING, not an ERROR, and is widely accepted upstream for Tested-on: tags. No code change is needed — the reviewer may choose to waive this warning. If the project policy requires clean checkpatch, wrap the firmware string across two lines or accept the warning as a known false positive for Tested-on: tags.

Reproduce locally:

./scripts/checkpatch.pl --strict --summary-file --ignore FILE_PATH_CHANGES \
  --git 2eda00b1ebc26941a0aae653b455e47662b1d94f..11c75b125aa682d1afd3f95c0614c397f7006684

❌ check-uapi-headers

Root cause: Recurring CI infrastructure bug — the SHA ancestry check inside check-uapi-headers.sh incorrectly reports base_sha is not an ancestor of head_sha, causing the script to abort before producing uapi_errors.log.

Failure details:

error - "2eda00b1ebc26941a0aae653b455e47662b1d94f" is not an ancestor of base ref "11c75b125aa682d1afd3f95c0614c397f7006684"
cat: uapi_errors.log: No such file or directory
Process completed with exit code 1.

Fix: This is a known recurring CI infrastructure bug, not a patch defect. The PR only modifies drivers/net/wireless/ath/ath12k/mac.c — no UAPI headers, sysfs attributes, or module parameters are touched. Action: re-trigger CI. No patch change needed.


❌ check-patch-compliance

Root cause: The b4 tool failed to fetch/validate the lore link for both commits. Both commits share the same Link: URL pointing to patch 1 of the series (-1- in the message-ID), but the checker attempts to validate each commit individually against that single URL and fails for at least one of them.

Failure details:

Checking commit: FROMLIST: wifi: ath12k: fix inconsistent arvif state in vdev_create error paths
Something seems wrong with the provided link. Please verify it
Try below command to run locally-
b4 am --single-message -C -l -3 https://lore.kernel.org/linux-wireless/20260512044906.1735821-1-wei.zhang@oss.qualcomm.com/

Checking commit: FROMLIST: wifi: ath12k: fix NULL deref in change_sta_links for unready link
Something seems wrong with the provided link. Please verify it
Try below command to run locally-
b4 am --single-message -C -l -3 https://lore.kernel.org/linux-wireless/20260512044906.1735821-1-wei.zhang@oss.qualcomm.com/

Root cause analysis: Both commits use the same Link: pointing to the cover letter / patch 1 message-ID (-1-wei.zhang@...). The second commit (11c75b125aa6) should carry the per-patch message-ID for patch 2 (-2-wei.zhang@...). Additionally, the lore thread may not yet be indexed/available at the time the checker ran (the series was posted the same day: 20260512), causing b4 to fail the fetch.

Fix (two options):

  1. Preferred — fix the Link: in commit 2: Update the second commit's Link: tag to point to its own message-ID:

    Link: https://lore.kernel.org/linux-wireless/20260512044906.1735821-2-wei.zhang@oss.qualcomm.com/
    

    Then amend:

    git rebase -i 2eda00b1ebc26941a0aae653b455e47662b1d94f
    # mark commit 11c75b125aa6 as 'edit'
    git commit --amend   # update Link: to -2- message-ID
    git rebase --continue
  2. Alternative — re-trigger CI after lore indexing: If both Link: URLs are intentionally pointing to the cover/patch-1 (some series do this), the failure may be transient because lore hadn't indexed the thread yet at run time. Re-triggering CI after a few hours may resolve it.

Reproduce locally:

b4 am --single-message -C -l -3 \
  https://lore.kernel.org/linux-wireless/20260512044906.1735821-1-wei.zhang@oss.qualcomm.com/
b4 am --single-message -C -l -3 \
  https://lore.kernel.org/linux-wireless/20260512044906.1735821-2-wei.zhang@oss.qualcomm.com/

⚠️ qcom-next-check (informational)

Both commits carry FROMLIST: and the series was posted to linux-wireless on 2026-05-12 (same day as this CI run). The patches are very fresh and almost certainly not yet in qcom-next. Reviewers should verify mainline readiness before merging into qcom-6.18.y.

Manual verification:

git log qcom-linux/qcom-next --oneline --grep="fix inconsistent arvif state in vdev_create"
git log qcom-linux/qcom-next --oneline --grep="fix NULL deref in change_sta_links"

Verdict

2 real blockers to address before merge:

  1. check-patch-compliance — Fix the Link: tag in commit 2 to use its own per-patch message-ID (-2-), or re-trigger CI after lore indexes the thread.
  2. check-uapi-headers — Re-trigger CI (recurring infrastructure bug; no patch change needed).
  3. checkpatch WARNING (COMMIT_LOG_LONG_LINE on Tested-on:) — widely accepted upstream for ath12k hardware strings; reviewer may waive.

@qcomlnxci
Copy link
Copy Markdown

Test Matrix

Test Case glymur-crd kaanapali-mtp lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 sm8750-mtp x1e80100-crd
0_qcom-next-ci-premerge-tests ◻️ ◻️ ❌ Fail ◻️ ❌ Fail ◻️ ◻️ ◻️ ◻️ ◻️
BT_FW_KMD_Service ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ◻️ ◻️ ◻️
BT_ON_OFF ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ◻️ ◻️ ◻️
BT_SCAN ◻️ ◻️ ✅ Pass ❌ Fail ✅ Pass ◻️ ◻️ ◻️ ◻️ ◻️
CPUFreq_Validation ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
CPU_affinity ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
DSP_AudioPD ◻️ ◻️ ✅ Pass ✅ Pass ⚠️ skip ◻️ ◻️ ◻️ ◻️ ◻️
Ethernet ◻️ ◻️ ⚠️ skip ✅ Pass ⚠️ skip ◻️ ◻️ ◻️ ◻️ ◻️
Freq_Scaling ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
GIC ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
IPA ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
Interrupts ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
OpenCV ◻️ ◻️ ✅ Pass ⚠️ skip ✅ Pass ◻️ ◻️ ◻️ ◻️ ◻️
PCIe ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
Probe_Failure_Check ◻️ ◻️ ❌ Fail ❌ Fail ❌ Fail ◻️ ◻️ ❌ Fail ◻️ ◻️
RMNET ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
UFS_Validation ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
USBHost ◻️ ◻️ ❌ Fail ✅ Pass ❌ Fail ◻️ ◻️ ❌ Fail ◻️ ◻️
WiFi_Firmware_Driver ◻️ ◻️ ❌ Fail ⚠️ skip ✅ Pass ◻️ ◻️ ◻️ ◻️ ◻️
WiFi_OnOff ◻️ ◻️ ✅ Pass ❌ Fail ✅ Pass ◻️ ◻️ ◻️ ◻️ ◻️
adsp_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ❌ Fail ◻️ ◻️
cdsp_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ❌ Fail ◻️ ◻️
gpdsp_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ⚠️ skip ◻️ ◻️ ❌ Fail ◻️ ◻️
hotplug ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
irq ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
kaslr ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
pinctrl ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
qcom_hwrng ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ◻️ ◻️ ◻️
remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ❌ Fail ◻️ ◻️
rngtest ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
shmbridge ◻️ ◻️ ❌ Fail ✅ Pass ❌ Fail ◻️ ◻️ ❌ Fail ◻️ ◻️
smmu ◻️ ◻️ ❌ Fail ✅ Pass ❌ Fail ◻️ ◻️ ❌ Fail ◻️ ◻️
watchdog ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ◻️ ◻️ ◻️
wpss_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️

@qcomlnxci
Copy link
Copy Markdown

Test Matrix

Test Case glymur-crd kaanapali-mtp lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 sm8750-mtp x1e80100-crd
0_qcom-next-ci-premerge-tests ◻️ ◻️ ❌ Fail ◻️ ❌ Fail ◻️ ◻️ ◻️ ◻️ ◻️
BT_FW_KMD_Service ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ◻️ ◻️ ◻️
BT_ON_OFF ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ◻️ ◻️ ◻️
BT_SCAN ◻️ ◻️ ✅ Pass ❌ Fail ✅ Pass ◻️ ◻️ ◻️ ◻️ ◻️
CPUFreq_Validation ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
CPU_affinity ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
DSP_AudioPD ◻️ ◻️ ✅ Pass ✅ Pass ⚠️ skip ◻️ ◻️ ◻️ ◻️ ◻️
Ethernet ◻️ ◻️ ⚠️ skip ✅ Pass ⚠️ skip ◻️ ◻️ ◻️ ◻️ ◻️
Freq_Scaling ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
GIC ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
IPA ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
Interrupts ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
OpenCV ◻️ ◻️ ✅ Pass ⚠️ skip ✅ Pass ◻️ ◻️ ◻️ ◻️ ◻️
PCIe ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
Probe_Failure_Check ◻️ ◻️ ❌ Fail ❌ Fail ❌ Fail ◻️ ◻️ ❌ Fail ◻️ ◻️
RMNET ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
UFS_Validation ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
USBHost ◻️ ◻️ ❌ Fail ✅ Pass ❌ Fail ◻️ ◻️ ❌ Fail ◻️ ◻️
WiFi_Firmware_Driver ◻️ ◻️ ❌ Fail ⚠️ skip ✅ Pass ◻️ ◻️ ◻️ ◻️ ◻️
WiFi_OnOff ◻️ ◻️ ✅ Pass ❌ Fail ✅ Pass ◻️ ◻️ ◻️ ◻️ ◻️
adsp_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ❌ Fail ◻️ ◻️
cdsp_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ❌ Fail ◻️ ◻️
gpdsp_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ⚠️ skip ◻️ ◻️ ❌ Fail ◻️ ◻️
hotplug ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
irq ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
kaslr ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
pinctrl ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
qcom_hwrng ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ◻️ ◻️ ◻️
remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ❌ Fail ◻️ ◻️
rngtest ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️
shmbridge ◻️ ◻️ ❌ Fail ✅ Pass ❌ Fail ◻️ ◻️ ❌ Fail ◻️ ◻️
smmu ◻️ ◻️ ❌ Fail ✅ Pass ❌ Fail ◻️ ◻️ ❌ Fail ◻️ ◻️
watchdog ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ◻️ ◻️ ◻️
wpss_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ✅ Pass ◻️ ◻️

@qcomlnxci
Copy link
Copy Markdown

Test Matrix

Test Case glymur-crd kaanapali-mtp lemans-evk monaco-evk qcs615-ride qcs6490-rb3gen2 qcs8300-ride qcs9100-ride-r3 sm8750-mtp x1e80100-crd
0_qcom-next-ci-premerge-tests ◻️ ◻️ ❌ Fail ◻️ ❌ Fail ❌ Fail ◻️ ◻️ ◻️ ◻️
BT_FW_KMD_Service ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ◻️ ◻️
BT_ON_OFF ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ◻️ ◻️
BT_SCAN ◻️ ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️ ◻️ ◻️ ◻️
CPUFreq_Validation ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ◻️
CPU_affinity ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ◻️
DSP_AudioPD ◻️ ◻️ ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ◻️ ◻️ ◻️ ◻️
Ethernet ◻️ ◻️ ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip ◻️ ◻️ ◻️ ◻️
Freq_Scaling ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ◻️
GIC ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ◻️
IPA ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ◻️
Interrupts ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ◻️
OpenCV ◻️ ◻️ ✅ Pass ⚠️ skip ✅ Pass ✅ Pass ◻️ ◻️ ◻️ ◻️
PCIe ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ◻️
Probe_Failure_Check ◻️ ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️ ❌ Fail ◻️ ◻️
RMNET ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ◻️
UFS_Validation ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ◻️
USBHost ◻️ ◻️ ❌ Fail ✅ Pass ❌ Fail ❌ Fail ◻️ ❌ Fail ◻️ ◻️
WiFi_Firmware_Driver ◻️ ◻️ ❌ Fail ⚠️ skip ✅ Pass ✅ Pass ◻️ ◻️ ◻️ ◻️
WiFi_OnOff ◻️ ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️ ◻️ ◻️ ◻️
adsp_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ❌ Fail ◻️ ◻️
cdsp_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ❌ Fail ◻️ ◻️
gpdsp_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ◻️ ❌ Fail ◻️ ◻️
hotplug ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ◻️
irq ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ◻️
kaslr ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ◻️
pinctrl ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ◻️
qcom_hwrng ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ◻️ ◻️
remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ❌ Fail ◻️ ◻️
rngtest ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ◻️
shmbridge ◻️ ◻️ ❌ Fail ✅ Pass ❌ Fail ❌ Fail ◻️ ❌ Fail ◻️ ◻️
smmu ◻️ ◻️ ❌ Fail ✅ Pass ❌ Fail ✅ Pass ◻️ ❌ Fail ◻️ ◻️
watchdog ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ◻️ ◻️ ◻️
wpss_remoteproc ◻️ ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️ ◻️

@sgaud-quic sgaud-quic merged commit cf30089 into qualcomm-linux:qcom-6.18.y May 13, 2026
6 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants