Skip to content

UPSTREAM: Bluetooth: mgmt: Add idle_timeout to configurable system pa… - #1306

Open
Cheng Jiang (che-jiang) wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
che-jiang:bt-mgmt-idle-timeout-qcom-6.18
Open

Cheng Jiang (che-jiang) wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
che-jiang:bt-mgmt-idle-timeout-qcom-6.18

Conversation

@che-jiang

@che-jiang Cheng Jiang (che-jiang) commented Oct 16, 2026 •

Copy link
Copy Markdown

While the configurable system parameters allow controlling the SNIFF mode parameters, they do not include the idle_timeout parameter responsible for enabling SNIFF mode.

Add the idle_timeout parameter to allow controlling the idle timeout of BR/EDR connections.

(cherry picked from commit 48fea7d)

CRs-Fixed: 4727470

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

1 similar comment
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

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

Entities:

  • kernel.qli.2.0

CR: 4727470

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UPSTREAM: Bluetooth: mgmt: Add idle_timeout to configurable system parameters
While the configurable system parameters allow controlling the SNIFF
mode parameters, they do not include the idle_timeout parameter
responsible for enabling SNIFF mode.

Add the idle_timeout parameter to allow controlling the idle timeout
of BR/EDR connections.

Signed-off-by: Stefan Sørensen ssorensen@roku.com
Signed-off-by: Luiz Augusto von Dentz luiz.von.dentz@intel.com
(cherry picked from commit 48fea7d)

Pls add a Link: tag in commit log pointing to valid lore link.

…rameters

While the configurable system parameters allow controlling the SNIFF
mode parameters, they do not include the idle_timeout parameter
responsible for enabling SNIFF mode.

Add the idle_timeout parameter to allow controlling the idle timeout
of BR/EDR connections.

Link: https://lore.kernel.org/all/20251216092011.111208-4-ssorensen@roku.com/
Signed-off-by: Stefan Sørensen <ssorensen@roku.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
(cherry picked from commit 48fea7d)
@che-jiang
Cheng Jiang (che-jiang) force-pushed the bt-mgmt-idle-timeout-qcom-6.18 branch from f93f685 to d84b91c Compare November 6, 2026 02:54
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4727470 is not eligible for merge.

The parent software image for kernel.qli.2.0 is not development complete.

Entity: kernel.qli.2.0
CR: 4727470
Reason: CR_CANNOT_MERGE

Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations.

@qcomlnxci
qcomlnxci requested a review from a team November 6, 2026 02:56
@qlijarvis

Copy link
Copy Markdown

PR #1306 — validate-patch

PR: #1306

Verdict Issues Detailed Report
✅ 0 Full report

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/all/20251216092011.111208-4-ssorensen@roku.com/
  2. Lore link matches PR commits: Yes — faithful backport of the upstream commit (includes the build warning fix that was applied before final merge)
  3. Upstream patch status: ✅ ACKed — merged into bluetooth-next as commit afa20d8099dd by Luiz Augusto von Dentz on 2025-12-17
  4. PR present in qcom-next/topics: Yes - all 1 commit(s) are present in qcom-next or topics
Verdict: ✅ — click to expand

🔍 Patch Validation

PR: #1306 - UPSTREAM: Bluetooth: mgmt: Add idle_timeout to configurable system parameters
Upstream commit: https://lore.kernel.org/all/20251216092011.111208-4-ssorensen@roku.com/
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream ✅ Correctly prefixed with UPSTREAM:
Body preserves rationale ✅ Key rationale preserved: adds idle_timeout to configurable parameters
Fixes tag present/correct N/A No Fixes tag (new feature, not a fix)
Authorship preserved ✅ Author matches lore: Stefan Sørensen ssorensen@roku.com
Backport note (if applicable) ✅ Includes (cherry picked from commit 48fea7d4b363...)

Diff

File Status Notes
net/bluetooth/mgmt_config.c ✅ Faithful backport with legitimate fix applied

Issues

None. The PR correctly cherry-picks the upstream commit. Note: The original lore posting had a build warning (cpu_to_le32 should be cpu_to_le16 in TLV_SET_U32 macro line 40), but this was fixed before final merge upstream, and the PR correctly includes the fixed version.

Verdict

Merge as-is. This is a clean backport of an accepted upstream commit with proper attribution, sign-off chain, and backport note.

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/all/20251216092011.111208-4-ssorensen@roku.com/
  2. Lore link matches PR commits: Yes — faithful backport of the upstream commit (includes the build warning fix that was applied before final merge)
  3. Upstream patch status: ✅ ACKed — merged into bluetooth-next as commit afa20d8099dd by Luiz Augusto von Dentz on 2025-12-17
  4. PR present in qcom-next/topics: Yes — exact patch-id match at 48fea7d in qcom-next

Deterministic Integration Presence

Integration Presence Report

This report is generated by Jarvis before validate-patch runs.
It is the authoritative source for whether PR changes are already present
in qcom-next or in the kernel topic branches.

Kernel repo: /local/mnt/workspace/sgaud/Qgenie/image_pipeline/kernel
qcom-next ref: 17bbb4b37bbc4fc5827b4667445a0c43967c0f48
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/1 [PATCH] UPSTREAM: Bluetooth: mgmt: Add idle_timeout to configurable present - exact patch-id match at 48fea7d skipped - not checked because qcom-next already contains the change present

Final Status

overall_status: PASS
present_commits: 1/1
partial_commits: 0/1
missing_commits: 0/1
topics_checked_for_commits: 0/1
final_summary: PR present in qcom-next/topics: Yes - all 1 commit(s) are present in qcom-next or topics

@qlijarvis

Copy link
Copy Markdown

PR #1306 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ❌ 1 CHECK warning on macro argument parentheses
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check ✅ Passed
check-uapi-headers ✅ Passed
check-patch-compliance ❌ Content mismatch (false positive - lore link points to series, not individual patch)
tag-check N/A Target branch is qcom-next - prefix check not required

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #1306 - UPSTREAM: Bluetooth: mgmt: Add idle_timeout to configurable system parameters
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/42153408918

Checker Result Summary
checkpatch ❌ 1 CHECK warning on macro argument parentheses
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check ✅ Passed
check-uapi-headers ✅ Passed
check-patch-compliance ❌ Content mismatch (false positive - lore link points to series, not individual patch)
tag-check N/A Target branch is qcom-next - prefix check not required

❌ checkpatch

Root cause: Macro argument _param_name_ in TLV_SET_U32 lacks parentheses, triggering a style check.

Failure details:

CHECK: Macro argument '_param_name_' may be better as '(_param_name_)' to avoid precedence issues
#46: FILE: net/bluetooth/mgmt_config.c:38:
+#define TLV_SET_U32(_param_code_, _param_name_) \
+	{ \
+		{ cpu_to_le16(_param_code_), sizeof(__u32) }, \
+		cpu_to_le32(hdev->_param_name_) \
+	}

d84b91c253c04ea620933adc42655f6e16c39c05 total: 0 errors, 0 warnings, 1 checks, 63 lines checked

Fix: This is a CHECK (not ERROR or WARNING), indicating a style suggestion rather than a mandatory fix. The macro follows the same pattern as the existing TLV_SET_U16 and TLV_SET_U8 macros in the same file. Since this is an upstream commit cherry-picked verbatim (commit 48fea7d4b363), modifying it would diverge from upstream.

Recommendation: Accept as-is. Checkpatch CHECKs are advisory, and maintaining upstream fidelity is more important than fixing non-critical style suggestions in backported commits.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git <base>..<head>

❌ check-patch-compliance

Root cause: The lore link https://lore.kernel.org/all/20251216092011.111208-4-ssorensen@roku.com/ points to patch 3/3 of a series, but b4 am downloads the entire thread (patches 1/3, 2/3, 3/3), causing the checker to compare the PR against all three patches instead of just patch 3/3.

Failure details:

Checking commit: UPSTREAM: Bluetooth: mgmt: Add idle_timeout to configurable system parameters
Change is different from the one mentioned in Link

Analysis:

  • The PR correctly cherry-picks only patch 3/3 (mgmt_config.c changes) from upstream commit 48fea7d4b363cfc051d50639a135f8be5d0be7c2.
  • The lore link points to the message-id of patch 3/3 in a 3-patch series.
  • When b4 am fetches the thread, it retrieves the entire series including:
    • Patch 1/3: hci_conn.c changes (use mod_delayed_work)
    • Patch 2/3: hci_conn.c + hci_sync.c changes (set link_policy)
    • Patch 3/3: mgmt_config.c changes (add idle_timeout parameter) ← this is what the PR contains
  • The checker compares the PR diff against the entire series and flags a mismatch because patches 1/3 and 2/3 are missing.

Verification:
The PR patch matches the upstream commit 48fea7d4b363 exactly (as confirmed by the integration presence report showing "exact patch-id match"). The content mismatch is a false positive caused by the checker's limitation in handling patch series.

Fix: None required. This is a known limitation of check-patch-compliance when dealing with patch series. The PR is correct.

Alternative (optional): If you want to silence the checker, you could change the lore link to point to the individual commit in a git tree instead of the mailing list thread, but this is not necessary since the commit is already merged upstream and the cherry-pick is faithful.

Reproduce locally:

b4 am --single-message -C -l -3 https://lore.kernel.org/all/20251216092011.111208-4-ssorensen@roku.com/ -o /tmp/out
# Compare the PR patch against patch 3/3 from the series

Verdict

Ready to merge with 1 advisory note:

  1. checkpatch CHECK warning — Advisory style suggestion on macro parentheses. Not a blocker. The macro follows existing patterns in the file, and this is an upstream commit cherry-picked verbatim. Maintaining upstream fidelity is preferred.

  2. check-patch-compliance false positive — The content mismatch is a checker limitation when handling patch series. The PR correctly cherry-picks patch 3/3 from the upstream series, and the integration presence report confirms an exact patch-id match with upstream commit 48fea7d4b363.

No action required. Both failures are non-blocking: one is an advisory style check, the other is a false positive. The PR is a faithful cherry-pick of an upstream commit already merged into mainline.

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case kbdev-hamoa-iot-evk-multimedia kbdev-lemans-evk-multimedia kbdev-monaco-evk-multimedia kbdev-purwa-iot-evk-multimedia kbdev-qcs615-ride-multimedia kbdev-qcs6490-rb3gen2-multimedia kbdev-qcs8300-ride-multimedia kbdev-qcs9100-ride-r3-multimedia kbdev-shikra-iqs-evk-multimedia
BT_FW_KMD_Service ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_SCAN ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
DSP_AudioPD ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
Ethernet_Basic_Validation ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ❌ Fail ⚠️ skip
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
GIC ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
KVM_Driver ❌ Fail ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail
KVM_EL2_DTB ❌ Fail ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail
KVM_Infra ❌ Fail ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ❌ Fail
OpenCV ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
USBHost ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ❌ Fail ✅ Pass ❌ Fail
WiFi_Firmware_Driver ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
WiFi_OnOff ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
gpdsp_remoteproc ⚠️ skip ✅ Pass ✅ Pass ◻️ ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip
hotplug ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
irq ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
kaslr ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
pinctrl ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
rngtest ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
shmbridge ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
smmu ❌ Fail ❌ Fail ✅ Pass ❌ Fail ❌ Fail ✅ Pass ✅ Pass ❌ Fail ✅ Pass
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass

@qlijarvis

Copy link
Copy Markdown

LAVA Failed Case Triage Summary

PR: #1306

Job 269694 | SoC qcs8300-ride

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/269694

Failed test cases in LAVA job 269694 (SoC: qcs8300-ride).

  Case 1: ** Probe_Failure_Check — Driver probe failures detected
  1. Failed case: ** Probe_Failure_Check — Driver probe failures detected
  2. Root cause: ** Two pre-existing platform issues unrelated to PR1306 (Bluetooth mgmt config change): (1) xhci-hcd USB host controller probe timeout (-ETIMEDOUT) on qcs8300-ride hardware — a known board-specific USB PHY/clock initialization issue; (2) regulatory.db firmware file missing from rootfs — a benign cfg80211 regulatory database load failure that does not affect WiFi functionality (ath11k driver continues to probe successfully and uses built-in regulatory data).
  3. Possible fix: Suppress both failures in the Probe_Failure_Check test allowlist for qcs8300-ride: add xhci-hcd probe timeout to known hardware limitation exceptions (USB functionality not required for this test suite), and add regulatory.db firmware load failure to benign firmware warnings (WiFi driver functional despite missing optional regulatory database file).
  4. Detail analysis attachment: failed_case_job269694_1_detailed.md
  Case 2: USBHost
  1. Failed case: USBHost
  2. Root cause: xHCI host controller probe failed with error -110 (ETIMEDOUT) during hardware setup at boot time on qcs8300-ride platform; the xHCI controller at xhci-hcd.0.auto timed out during initialization, preventing USB root hub enumeration and causing both USB host runtime validation and lsusb enumeration to fail.
  3. Possible fix: This is a pre-existing platform/hardware issue unrelated to PR UPSTREAM: Bluetooth: mgmt: Add idle_timeout to configurable system pa… #1306 (Bluetooth mgmt idle_timeout parameter). Investigate xHCI controller hardware initialization on qcs8300-ride: check USB PHY power sequencing, clock/regulator dependencies, and DWC3 controller configuration in device tree; verify USB controller reset timing and firmware dependencies; consider increasing xHCI setup timeout or adding debug to identify which hardware handshake is timing out.
  4. Detail analysis attachment: failed_case_job269694_2_detailed.md
  Case 3: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Mark KVM_Driver, KVM_EL2_DTB, and KVM_Infra tests as SKIP (not FAIL) for qcs8300-ride platform in LAVA test suite configuration, or add platform detection logic to the test runner to skip KVM tests when running under a hypervisor. This is not a kernel bug and requires no kernel changes.
  4. Detail analysis attachment: failed_case_job269694_3_detailed.md
  Case 4: KVM Driver Initialization Failure — /dev/kvm unavailable in Gunyah-protected environment
  1. Failed case: KVM Driver Initialization Failure — /dev/kvm unavailable in Gunyah-protected environment
  2. Root cause: KVM driver (CONFIG_KVM=y) did not initialize on qcs8300-ride running as Primary VM under Gunyah hypervisor (gunyah-3fe287d48). The /dev/kvm device node is absent because nested virtualization (KVM-on-KVM or KVM-under-Gunyah) is not supported or not enabled on this platform configuration. This is a pre-existing platform limitation, not a regression introduced by PR UPSTREAM: Bluetooth: mgmt: Add idle_timeout to configurable system pa… #1306 (which only modifies Bluetooth mgmt_config.c).
  3. Possible fix: This is not a PR-introduced bug. The test failure is expected on platforms running under a hypervisor without nested virtualization support. To resolve: (1) Skip KVM tests on Gunyah-protected targets in the CI test matrix, or (2) Enable nested virtualization support in the Gunyah hypervisor configuration if the platform supports it, or (3) Run KVM tests only on bare-metal (non-virtualized) targets. No kernel code fix is required.
  4. Detail analysis attachment: failed_case_job269694_4_detailed.md
  Case 5: KVM_Infra — KVM device node unavailable
  1. Failed case: KVM_Infra — KVM device node unavailable
  2. Root cause: KVM is configured (CONFIG_KVM=y) but /dev/kvm device node is not created because the system is running as a guest under Gunyah hypervisor (EL1), which prevents KVM from initializing since KVM requires EL2 (hypervisor mode) access that is not available in nested virtualization on this platform.
  3. Possible fix: This is not a PR-introduced regression (the PR modifies only Bluetooth mgmt_config.c). The test failure is a platform limitation: KVM cannot run on qcs8300-ride when booted under Gunyah hypervisor. Either: (1) exclude KVM tests from the qcs8300-ride LAVA job definition, or (2) boot the board without Gunyah to allow native KVM operation, or (3) mark KVM tests as expected-to-skip on hypervisor-backed platforms.
  4. Detail analysis attachment: failed_case_job269694_5_detailed.md
  Case 6: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: LAVA marked the test definition as failed because it contained individual test case failures (KVM_Driver, KVM_EL2_DTB, KVM_Infra all failed with "/dev/kvm is not available"), even though the test runner completed successfully and exited normally with <LAVA_TEST_RUNNER EXIT>.
  3. Possible fix: This is not a PR-introduced regression. The qcs8300-ride platform boots with Gunyah hypervisor (confirmed by boot log: "Hypervisor cold boot, version: gunyah-3fe287d48"), which prevents KVM from initializing since only one hypervisor can run at EL2. The KVM tests should be skipped on Gunyah-enabled platforms, or the test infrastructure should not mark the overall test definition as failed when only KVM tests fail on non-KVM platforms.
  4. Detail analysis attachment: failed_case_job269694_6_detailed.md
Job 269721 | SoC qcs6490-rb3gen2

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/269721

Failed test cases in LAVA job 269721 (SoC: qcs6490-rb3gen2).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Pre-existing audio subsystem deferred probe issue on qcs6490-rb3gen2 — audio codec devices (3240000.codec, 3370000.codec, 3250000.soundwire) and sound card remain in deferred probe state due to missing pinctrl supplier nodes (wsa-swr-data-state, dmic23-data-state), and a benign regulatory.db firmware load failure (cfg80211 wireless regulatory database not present in rootfs).
  3. Possible fix: This failure is NOT introduced by PR UPSTREAM: Bluetooth: mgmt: Add idle_timeout to configurable system pa… #1306 (Bluetooth mgmt_config.c idle_timeout parameter addition). The audio deferred probe and regulatory.db issues are pre-existing platform/DT/rootfs configuration issues unrelated to the Bluetooth changes. No action required for this PR — the Probe_Failure_Check test is flagging pre-existing benign issues that do not affect core system functionality (all critical tests including IPA, rngtest, smmu, USB, Audio playback/recording passed).
  4. Detail analysis attachment: failed_case_job269721_1_detailed.md
  Case 2: USBHost — Driver Probe Failure
  1. Failed case: USBHost — Driver Probe Failure
  2. Root cause: USB host controller drivers (dwc3/xhci) failed to probe on qcs6490-rb3gen2 because the USB role switch dependency failed to initialize — device link creation failed with error 0x180 for supplier eud-path0-role-switch, preventing the USB controllers from transitioning from gadget mode to host mode, leaving no USB root hubs exposed and causing both runtime validation and lsusb enumeration to fail.
  3. Possible fix: Investigate why the EUD (Embedded USB Debugger) role switch provider (eud-path0-role-switch) is not available at USB controller probe time — verify the EUD driver (88e0000.eud) probes successfully, check device tree for correct usb-role-switch phandle references in the USB controller nodes, and ensure the qcom,pmic-glink connector configuration correctly links to the EUD role switch; if the EUD driver is missing or disabled in the kernel config, enable CONFIG_USB_QCOM_EUD and rebuild.
  4. Detail analysis attachment: failed_case_job269721_2_detailed.md
  Case 3: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: LAVA test infrastructure issue — test runner completed successfully (all tests executed and reported results, including LAVA_TEST_RUNNER EXIT signal), but LAVA dispatcher incorrectly marked the test definition as "unfinished" and failed it, despite the test harness completing normally and reporting individual test results.
  3. Possible fix: Re-trigger the LAVA job; this is a known LAVA dispatcher race condition where the test completion signal is not properly synchronized with the result aggregation logic, causing false "unfinished test run" failures when the test suite actually completed.
  4. Detail analysis attachment: failed_case_job269721_3_detailed.md
Job 269722 | SoC qcs9100-ride

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/269722

Failed test cases in LAVA job 269722 (SoC: qcs9100-ride).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Two pre-existing platform-specific probe failures on qcs9100-ride: (1) regulatory.db firmware missing (cfg80211 wireless regulatory database, error -2 / -ENOENT), and (2) Aquantia AQR115C Ethernet PHY probe failure (error -22 / -EINVAL, failed to read firmware-name property from device tree). Neither failure is introduced by PR UPSTREAM: Bluetooth: mgmt: Add idle_timeout to configurable system pa… #1306 (Bluetooth mgmt idle_timeout parameter addition).
  3. Possible fix: These are known platform/board configuration issues, not regressions. Suppress these specific probe failures in the Probe_Failure_Check test for qcs9100-ride, or: (1) add regulatory.db firmware file to rootfs at /lib/firmware/regulatory.db, and (2) add missing "firmware-name" property to the Aquantia PHY device tree node at stmmac-0:08 in qcs9100-ride DTS.
  4. Detail analysis attachment: failed_case_job269722_1_detailed.md
  Case 2: ** smmu
  1. Failed case: ** smmu
  2. Root cause: ** The video codec device aa00000.video-codec is not attached to any IOMMU group on qcs9100-ride, causing the SMMU validation test to fail; this is a device tree or driver probe issue where the video codec either failed to probe or lacks proper IOMMU bindings in the device tree.
  3. Possible fix: Verify the video codec device tree node at aa00000.video-codec includes correct iommus property referencing the appropriate SMMU; check kernel logs for video codec driver probe failures or deferred probe messages; if the driver is not probing, investigate missing dependencies (clocks, regulators, firmware) or enable the video codec driver in the kernel config.
  4. Detail analysis attachment: failed_case_job269722_2_detailed.md
  Case 3: Ethernet_Basic_Validation
  1. Failed case: Ethernet_Basic_Validation
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Verify and correct the device tree configuration for 23040000.ethernet on qcs9100-ride: (1) Confirm phy-handle property points to a valid PHY node on the MDIO bus, (2) Verify phy-mode matches the PHY hardware capabilities (e.g., rgmii, rgmii-id, sgmii), (3) Check that the PHY node has a compatible string matching an available PHY driver, (4) Ensure the MDIO bus controller is properly configured and the PHY is enumerated at the expected address. If the PHY is external, verify hardware connections and reset/enable GPIO configuration.
  4. Detail analysis attachment: failed_case_job269722_3_detailed.md
  Case 4: KVM_Driver — Platform Virtualization Not Supported
  1. Failed case: KVM_Driver — Platform Virtualization Not Supported
  2. Root cause: The qcs9100-ride (LeMans) platform does not support ARM virtualization extensions (EL2/HYP mode). The kernel KVM subsystem correctly detects this at boot time and reports "kvm [1]: HYP mode not available" (line 2758 of boot log), preventing /dev/kvm device node creation. CONFIG_KVM and CONFIG_VIRTUALIZATION are enabled in the kernel configuration, but the underlying hardware does not provide the required EL2 exception level support.
  3. Possible fix: Exclude KVM-related tests (KVM_Driver, KVM_EL2_DTB, KVM_Infra) from the LAVA test suite for qcs9100-ride and other platforms without virtualization extensions. Add a platform capability check in the CI job definition to skip virtualization tests when the target SoC does not support EL2. This is not a kernel bug or PR-introduced regression — it's a test suite configuration issue where tests are being run on incompatible hardware.
  4. Detail analysis attachment: failed_case_job269722_4_detailed.md
  Case 5: KVM_EL2_DTB — KVM Driver Initialization Failure
  1. Failed case: KVM_EL2_DTB — KVM Driver Initialization Failure
  2. Root cause: KVM driver initialization failed at boot with "HYP mode not available" because the qcs9100-ride platform is not booted into EL2 hypervisor mode; the kernel is running at EL1 without virtualization extensions enabled, preventing /dev/kvm device node creation and causing all KVM-dependent tests to fail.
  3. Possible fix: This is not a PR-introduced regression (PR 1306 only modifies Bluetooth mgmt_config.c). The failure indicates a platform/firmware configuration issue: verify the bootloader (ABL/UEFI) is configured to boot the kernel at EL2 with VHE (Virtualization Host Extensions) enabled, or confirm whether qcs9100-ride hardware supports KVM/virtualization in the current boot configuration. If KVM is not supported on this platform configuration, mark KVM tests as expected-to-skip for qcs9100-ride in the CI test matrix.
  4. Detail analysis attachment: failed_case_job269722_5_detailed.md
  Case 6: KVM Infrastructure Test Failure — /dev/kvm unavailable
  1. Failed case: KVM Infrastructure Test Failure — /dev/kvm unavailable
  2. Root cause: KVM driver initialization failed during boot with "HYP mode not available" because the qcs9100-ride platform is running under the Gunyah hypervisor at EL2, preventing KVM from accessing the required hypervisor mode. This is a platform configuration issue, not a kernel regression.
  3. Possible fix: This is a pre-existing platform/infrastructure limitation. The qcs9100-ride board is configured to boot with Gunyah hypervisor, which occupies EL2 and prevents KVM from initializing. To enable KVM testing on this platform: (1) reconfigure the boot flow to use the non-virtualized boot path (el2kvm instead of Gunyah), or (2) exclude KVM tests from the qcs9100-ride test suite, or (3) use a different test platform that boots without a hypervisor for KVM validation.
  4. Detail analysis attachment: failed_case_job269722_6_detailed.md
  Case 7: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM functionality unavailable on qcs9100-ride platform because the kernel detected "HYP mode not available" during boot, preventing /dev/kvm device node creation despite CONFIG_KVM being enabled in the kernel configuration.
  3. Possible fix: This is a platform hardware/firmware limitation, not a kernel regression introduced by the Bluetooth PR. The qcs9100-ride (LeMans) platform does not support EL2/HYP mode required for KVM. Either: (1) exclude KVM tests from the qcs9100-ride test suite, or (2) run KVM tests only on platforms with hypervisor support (e.g., platforms booted with hypervisor enabled in firmware/bootloader).
  4. Detail analysis attachment: failed_case_job269722_7_detailed.md
Job 269723 | SoC monaco-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/269723

Failed test cases in LAVA job 269723 (SoC: monaco-evk).

  Case 1: Probe_Failure_Check — WiFi Driver Probe Failure (ath11k_pci)
  1. Failed case: Probe_Failure_Check — WiFi Driver Probe Failure (ath11k_pci)
  2. Root cause: WiFi driver (ath11k_pci) probe failed with -ETIMEDOUT (-110) on monaco-evk because the required firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin is missing from the rootfs firmware directory, preventing MHI power-up and device initialization.
  3. Possible fix: Add the missing WiFi firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin to the rootfs at /lib/firmware/ath11k/WCN6855/hw2.1/nfa765/ in the Yocto build configuration or verify the linux-firmware package includes this board-specific firmware variant for WCN6855 hw2.1 nfa765.
  4. Detail analysis attachment: failed_case_job269723_1_detailed.md
  Case 2: WiFi_Firmware_Driver
  1. Failed case: WiFi_Firmware_Driver
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Add the missing firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin to the rootfs build recipe (Yocto: linux-firmware-ath11k package or equivalent). Verify the firmware package includes the Monaco-specific nfa765 board variant path. Rebuild the rootfs image and re-test.
  4. Detail analysis attachment: failed_case_job269723_2_detailed.md
  Case 3: WiFi_OnOff — WiFi driver probe failure (firmware dependency)
  1. Failed case: WiFi_OnOff — WiFi driver probe failure (firmware dependency)
  2. Root cause: ath11k_pci driver probe failed with error -110 (ETIMEDOUT) on monaco-evk because the required WiFi firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin is missing from the rootfs, causing MHI power-up timeout during driver initialization.
  3. Possible fix: Add the missing WiFi firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin to the rootfs firmware directory (/lib/firmware/ath11k/WCN6855/hw2.1/nfa765/) in the Yocto build configuration or verify the linux-firmware package includes this firmware variant for WCN6855 hw2.1 on monaco platform.
  4. Detail analysis attachment: failed_case_job269723_3_detailed.md
  Case 4: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: WiFi hardware probe timeout on monaco-evk board - ath11k_pci driver failed to probe WCN6855 PCIe device with error -110 (ETIMEDOUT), causing cascading failures in Probe_Failure_Check, WiFi_Firmware_Driver, and WiFi_OnOff tests; this is a pre-existing board/infrastructure issue unrelated to the PR's Bluetooth management configuration changes.
  3. Possible fix: Re-trigger the CI job to verify if this is a transient hardware initialization failure; if the issue persists, investigate monaco-evk board-specific WiFi PCIe link training, firmware loading paths, and power sequencing - the PR changes (Bluetooth idle_timeout parameter) do not affect WiFi probe and should not be blocked by this failure.
  4. Detail analysis attachment: failed_case_job269723_4_detailed.md
Job 269724 | SoC lemans-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/269724

Failed test cases in LAVA job 269724 (SoC: lemans-evk).

  Case 1: ** Probe_Failure_Check (Test Infrastructure False Positive)
  1. Failed case: ** Probe_Failure_Check (Test Infrastructure False Positive)
  2. Root cause: ** The Probe_Failure_Check test flagged three firmware load fallback attempts as "probe failures": regulatory.db (cfg80211 regulatory database) and two Bluetooth firmware files (qca/wcnhpbtfw21.tlv, qca/hpbtfw21.tlv). These are benign fallback attempts during driver initialization. The regulatory database failure is a known cfg80211 behavior when the built-in database is used. The Bluetooth firmware failures are fallback attempts before the driver successfully loads the correct firmware variant. Critically, the BT_ON_OFF test passed (line 5945), confirming Bluetooth firmware loaded correctly and the device is fully functional. Per suppression Rule 3 in lava-known-benign-failures.md, this failure must be suppressed.
  3. Possible fix: Suppress this failure as "known benign: BT firmware false positive — BT_ON_OFF passed". Update the Probe_Failure_Check test to exclude firmware load fallback attempts (error -2 / -ENOENT) from the failure criteria, or implement the suppression logic from lava-known-benign-failures.md Rule 3 directly in the test script. The test should only fail on genuine probe errors that prevent device functionality.
  4. Detail analysis attachment: failed_case_job269724_1_detailed.md
  Case 2: smmu (test validation failure — not a kernel crash or SMMU fault)
  1. Failed case: smmu (test validation failure — not a kernel crash or SMMU fault)
  2. Root cause: Video codec device aa00000.video-codec is not attached to any IOMMU group on lemans-evk platform; SMMU/IOMMU subsystem is functional (61 groups, 57 devices attached, no kernel errors), but the test expects video codec to be IOMMU-protected and fails when it is not.
  3. Possible fix: This is a pre-existing platform issue unrelated to PR UPSTREAM: Bluetooth: mgmt: Add idle_timeout to configurable system pa… #1306 (which modifies Bluetooth code). Verify whether video codec IOMMU attachment is required on lemans-evk by checking device tree iommus property for aa00000.video-codec node; if missing, add it; if intentionally absent (e.g., video codec uses bypass mode on this platform), update test expectations to exclude lemans-evk video codec from critical master list.
  4. Detail analysis attachment: failed_case_job269724_2_detailed.md
  Case 3: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: LAVA test infrastructure issue — test runner script exited after completing all scheduled tests, but LAVA dispatcher marked the test definition as "unfinished" because the result_parse.sh script listed 4 .res files (CPU_affinity, Freq_Scaling, irq, smmu) that had already been reported earlier in the test run, then the runner exited with <LAVA_TEST_RUNNER EXIT> signal, triggering LAVA's "Marking unfinished test run as failed" error. This is a test harness synchronization issue, not a kernel regression.
  3. Possible fix: This is a false failure caused by LAVA test runner behavior. The kernel and all tests functioned correctly (20 tests passed, 1 genuine test failure in smmu due to missing iommu_group for video codec device aa00000.video-codec). Re-trigger the CI job; if the issue persists, investigate the result_parse.sh script logic to ensure it doesn't re-list already-reported test results, or adjust the LAVA job definition's test completion detection pattern to properly recognize when the test suite has finished.
  4. Detail analysis attachment: failed_case_job269724_3_detailed.md
Job 269725 | SoC hamoa-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/269725

Failed test cases in LAVA job 269725 (SoC: hamoa-evk).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Suppress these two known benign failures in the Probe_Failure_Check test for hamoa-evk platform by adding them to the test's allowlist, as they do not indicate kernel regressions and all functional tests pass.
  4. Detail analysis attachment: failed_case_job269725_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: Test infrastructure issue — the smmu test expects a legacy video codec device node aa00000.video-codec to be attached to an IOMMU group, but hamoa-evk uses the newer iris video driver architecture which creates iris_non_pixel.0 and iris_pixel.0 platform devices instead (both correctly attached to IOMMU groups 16 and 17).
  3. Possible fix: Update the smmu test's critical master list for hamoa-evk to remove the obsolete aa00000.video-codec entry and verify iris_non_pixel.0 and iris_pixel.0 IOMMU group attachments instead (which are already passing).
  4. Detail analysis attachment: failed_case_job269725_2_detailed.md
  Case 3: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: This is not a kernel bug or PR-introduced regression. The test failure is expected on this platform configuration. To resolve: (1) Update the LAVA test suite to skip KVM tests when Gunyah hypervisor is detected, or (2) Use a different boot configuration (non-EL2 Gunyah) if KVM testing is required. The test should check for hypervisor presence before attempting KVM validation.
  4. Detail analysis attachment: failed_case_job269725_3_detailed.md
  Case 4: KVM_EL2_DTB — Platform Architecture Limitation
  1. Failed case: KVM_EL2_DTB — Platform Architecture Limitation
  2. Root cause: KVM cannot initialize on hamoa-evk because the platform runs with Gunyah hypervisor at EL2, leaving the kernel at EL1 where KVM is unavailable. Kernel log shows "kvm [1]: HYP mode not available" at boot, preventing /dev/kvm device creation.
  3. Possible fix: Exclude KVM tests from hamoa-evk CI runs, as this platform architecture does not support KVM (Gunyah hypervisor occupies EL2). Alternatively, if KVM testing is required, use a platform without a hypervisor where the kernel runs at EL2.
  4. Detail analysis attachment: failed_case_job269725_4_detailed.md
  Case 5: KVM_Infra — Platform Limitation (HYP Mode Not Available)
  1. Failed case: KVM_Infra — Platform Limitation (HYP Mode Not Available)
  2. Root cause: The Hamoa EVK platform does not have ARM EL2 (Hypervisor mode) enabled in its firmware/boot chain, preventing KVM from initializing and creating /dev/kvm. The kernel correctly detects this limitation and reports "HYP mode not available" during boot.
  3. Possible fix: This is not a kernel bug or PR-introduced regression. The Bluetooth patch in PR UPSTREAM: Bluetooth: mgmt: Add idle_timeout to configurable system pa… #1306 does not affect KVM. To enable KVM on Hamoa EVK: (1) verify the SoC supports EL2, (2) enable EL2 in the TrustZone/secure boot firmware configuration, (3) ensure the bootloader (ABL/XBL) does not disable EL2 before handing control to Linux, or (4) exclude KVM tests from the Hamoa EVK test suite if the platform is not intended to support virtualization.
  4. Detail analysis attachment: failed_case_job269725_5_detailed.md
  Case 6: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: LAVA test runner marked the test suite as failed because 4 test result files (CPU_affinity.res, Freq_Scaling.res, irq.res, smmu.res) were found unprocessed after the test run completed, triggering the "Marking unfinished test run as failed" error. This is a test infrastructure issue, not a kernel crash or build load failure — the kernel booted successfully (Linux version 6.18.56-03353-g345795891758) and all executed tests completed normally.
  3. Possible fix: Re-trigger the LAVA job to verify if this is a transient test runner issue. If the issue persists, investigate the test plan configuration to ensure all tests in the plan are properly registered with the LAVA test runner, or remove the orphaned .res files from the test suite definition if those tests are no longer intended to run.
  4. Detail analysis attachment: failed_case_job269725_6_detailed.md
Job 269726 | SoC shikra-iqs-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/269726

Failed test cases in LAVA job 269726 (SoC: shikra-iqs-evk).

  Case 1: GIC Test Script Bug — Hardcoded 8-CPU Assumption
  1. Failed case: GIC Test Script Bug — Hardcoded 8-CPU Assumption
  2. Root cause: The GIC test script assumes 8 CPUs (0-7) but shikra-iqs-evk has only 4 CPUs (0-3). When parsing /proc/interrupts for CPUs 4-7, the script encounters bash integer comparison errors ([: GICv3: integer expected) because it attempts to parse non-numeric fields (GICv3, Level, arch_timer) as CPU timer counts.
  3. Possible fix: Update the GIC test script to dynamically detect the number of online CPUs from /sys/devices/system/cpu/online or /proc/cpuinfo instead of hardcoding an 8-CPU loop. The script should iterate only over CPUs that actually exist on the target platform.
  4. Detail analysis attachment: failed_case_job269726_1_detailed.md
  Case 2: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: These probe failures are not regressions introduced by PR UPSTREAM: Bluetooth: mgmt: Add idle_timeout to configurable system pa… #1306. The PR only touches net/bluetooth/mgmt_config.c and all Bluetooth tests (BT_FW_KMD_Service, BT_ON_OFF, BT_SCAN) passed. The probe failures are platform configuration issues: (1) Add missing firmware files ccg_secondary.cyacd2 and regulatory.db to the rootfs firmware directory, or mark ucsi_ccg and cfg80211 as optional if the hardware is not present/required. (2) Investigate TPM SPI bus timeout - verify TPM hardware is present and SPI bus configuration is correct in device tree. (3) Fix audio codec clock dependencies in device tree - ensure mclk clock provider is available before va_macro probe. (4) Investigate I2C device 3-0010 - identify the device and resolve its probe dependency. Recommended action for PR UPSTREAM: Bluetooth: mgmt: Add idle_timeout to configurable system pa… #1306: Approve and merge - the PR is not responsible for these pre-existing platform issues.
  4. Detail analysis attachment: failed_case_job269726_2_detailed.md
  Case 3: PCIe
  1. Failed case: PCIe
  2. Root cause: Test validation failure — required QPS615 PCIe switch firmware file TC956X_Firmware_PCIeBridge.bin is not present in the filesystem firmware directories (/lib/firmware/ or equivalent). PCIe hardware is fully functional (7 devices enumerated, links up, drivers bound, no controller errors). This is a test environment configuration issue, not a kernel regression. The PR patch (Bluetooth management changes) is unrelated to PCIe.
  3. Possible fix: Install the TC956X_Firmware_PCIeBridge.bin firmware file in /lib/firmware/ or the appropriate firmware directory on the test target. The firmware is typically provided by Toshiba/Qualcomm for the QPS615 PCIe switch. If the firmware is proprietary and unavailable, update the test to skip QPS615 firmware validation on platforms where it is not required for basic PCIe functionality.
  4. Detail analysis attachment: failed_case_job269726_3_detailed.md
  Case 4: USBHost
  1. Failed case: USBHost
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Update the device tree for shikra-iqs-evk to set dr_mode = "host" for the USB nodes at 4c00000 and 4e00000, or ensure Type-C role switching is properly configured if dual-role operation is intended. If the board design supports host mode, verify that VBUS power is enabled and Type-C orientation/role detection is working correctly.
  4. Detail analysis attachment: failed_case_job269726_4_detailed.md
  Case 5: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: Platform hardware limitation — Shikra IQS EVK does not support EL2/HYP mode, which is required for ARM KVM virtualization. The KVM module successfully probed but detected "HYP mode not available" at boot time (3.17s), preventing creation of the /dev/kvm device node.
  3. Possible fix: This is not a kernel bug or PR-introduced regression. The test should be skipped on platforms without EL2 support, or the test suite should add a platform capability check before running KVM tests. To enable KVM on this platform, firmware/bootloader must be configured to boot the kernel at EL2 instead of EL1.
  4. Detail analysis attachment: failed_case_job269726_5_detailed.md
  Case 6: KVM_EL2_DTB
  1. Failed case: KVM_EL2_DTB
  2. Root cause: KVM failed to initialize because Gunyah hypervisor is already running at EL2 on shikra-iqs-evk, preventing KVM from entering HYP mode (kernel message: "kvm [1]: HYP mode not available").
  3. Possible fix: This is a platform configuration issue, not a PR-introduced regression. The shikra-iqs-evk board boots with Gunyah hypervisor enabled by default, which occupies EL2 and prevents KVM from initializing. To enable KVM testing on this platform, either: (1) disable Gunyah hypervisor in the boot configuration and rebuild the firmware, or (2) exclude KVM tests from the shikra-iqs-evk test suite, as KVM and Gunyah cannot coexist on the same EL2.
  4. Detail analysis attachment: failed_case_job269726_6_detailed.md
  Case 7: KVM_Infra — Platform Architecture Limitation (Not a Genuine Failure)
  1. Failed case: KVM_Infra — Platform Architecture Limitation (Not a Genuine Failure)
  2. Root cause: The Shikra IQS EVK platform runs under the Gunyah hypervisor at EL2, which prevents Linux KVM from initializing because KVM requires direct access to EL2. The kernel correctly detected this condition and logged "kvm [1]: HYP mode not available" at boot. This is expected and correct behavior for Gunyah-based platforms where Linux runs as a guest at EL1.
  3. Possible fix: Update the LAVA test suite to skip KVM tests (KVM_Driver, KVM_EL2_DTB, KVM_Infra) on Gunyah-based platforms by adding a platform detection check that looks for "Gunyah based bootup" or "Hypervisor cold boot.*gunyah" in dmesg and exits with SKIP status. Alternatively, exclude these tests from the LAVA job definition for shikra-iqs-evk and other Gunyah-enabled platforms.
  4. Detail analysis attachment: failed_case_job269726_7_detailed.md
  Case 8: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM driver initialization failure - shikra-iqs-evk platform does not support ARM EL2 (Hypervisor mode), preventing KVM from creating /dev/kvm device node despite CONFIG_KVM being enabled in kernel config.
  3. Possible fix: This is a platform hardware limitation, not a kernel bug. Mark KVM tests as "skip" or "not applicable" for shikra-iqs-evk in the LAVA test plan, or exclude shikra-iqs-evk from KVM test runs. The PR (Bluetooth idle_timeout changes) is not related to this failure and should not be blocked by it.
  4. Detail analysis attachment: failed_case_job269726_8_detailed.md
Job 269727 | SoC qcs615-ride

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/269727

Failed test cases in LAVA job 269727 (SoC: qcs615-ride).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Update the Probe_Failure_Check test script to suppress known benign firmware load failures when corresponding functional tests pass. Specifically: exclude "regulatory.db" firmware failures when WiFi_OnOff and WiFi_Firmware_Driver tests pass, as this indicates the wireless subsystem is working correctly with built-in regulatory rules.
  4. Detail analysis attachment: failed_case_job269727_1_detailed.md
  Case 2: smmu (Test Infrastructure False Positive)
  1. Failed case: smmu (Test Infrastructure False Positive)
  2. Root cause: The smmu test incorrectly expects child devices aa00000.video-codec:video-decoder and aa00000.video-codec:video-encoder to have separate IOMMU group attachments. The Qualcomm Venus video codec driver uses a parent-child device model where only the parent device (aa00000.video-codec) requires IOMMU attachment (correctly attached to group 7). Child devices are logical sub-devices that inherit IOMMU protection from their parent. This is a test design flaw, not a kernel regression.
  3. Possible fix: Update the smmu test to recognize that Venus video codec child devices (video-decoder, video-encoder) do not require separate IOMMU group attachments when their parent device is correctly protected. The test should verify only the parent device aa00000.video-codec IOMMU attachment for qcs615-ride platform.
  4. Detail analysis attachment: failed_case_job269727_2_detailed.md
  Case 3: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: This is not a kernel bug or PR-introduced regression. To enable KVM on this platform, reconfigure the platform firmware to boot without the Gunyah hypervisor, or exclude KVM-dependent tests from the CI test suite for Gunyah-enabled platforms. If KVM functionality is required, use a platform configuration that does not load Gunyah.
  4. Detail analysis attachment: failed_case_job269727_3_detailed.md
  Case 4: KVM_EL2_DTB — Platform Configuration Issue (Gunyah hypervisor occupies EL2)
  1. Failed case: KVM_EL2_DTB — Platform Configuration Issue (Gunyah hypervisor occupies EL2)
  2. Root cause: The qcs615-ride board boots with Gunyah hypervisor at EL2, causing Linux to run as a guest at EL1; KVM requires EL2 (HYP mode) which is unavailable, resulting in "HYP mode not available" and /dev/kvm device node not being created.
  3. Possible fix: This is a pre-existing platform configuration issue, not a PR-introduced regression (PR is Bluetooth-only). To enable KVM testing on qcs615-ride: (1) reconfigure the board to boot Linux directly at EL2 without Gunyah hypervisor, or (2) exclude KVM tests from the qcs615-ride test suite, or (3) use nested virtualization if Gunyah supports it (requires Gunyah configuration changes, not kernel changes).
  4. Detail analysis attachment: failed_case_job269727_4_detailed.md
  Case 5: KVM_Infra — Pre-existing Platform Configuration Issue
  1. Failed case: KVM_Infra — Pre-existing Platform Configuration Issue
  2. Root cause: KVM cannot initialize on qcs615-ride because the platform is configured to boot with Gunyah hypervisor occupying EL2 (confirmed by boot log: "Hypervisor cold boot, version: gunyah-3fe287d48" and EFI selection='el2gh'), preventing KVM from accessing HYP mode; kernel message at boot: "kvm [1]: HYP mode not available".
  3. Possible fix: This is a pre-existing platform/firmware configuration issue, not introduced by PR UPSTREAM: Bluetooth: mgmt: Add idle_timeout to configurable system pa… #1306 (which only modifies Bluetooth mgmt code). To enable KVM on qcs615-ride, reconfigure the boot flow to use the non-hypervisor EFI boot entry (not 'el2gh') or disable Gunyah hypervisor in the firmware/bootloader configuration, allowing KVM to claim EL2 at boot time.
  4. Detail analysis attachment: failed_case_job269727_5_detailed.md
  Case 6: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: This is a platform hardware/firmware limitation, not a kernel regression. To enable KVM on QCS615: (1) verify the SoC has ARM virtualization extensions, (2) update bootloader/firmware to enable EL2 before booting Linux, or (3) exclude KVM tests from QCS615 CI runs if the platform is not intended to support virtualization. The PR (Bluetooth idle_timeout parameter) is unrelated and should not be blocked by this pre-existing platform issue.
  4. Detail analysis attachment: failed_case_job269727_6_detailed.md
Job 269728 | SoC purwa-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/269728

Failed test cases in LAVA job 269728 (SoC: purwa-evk).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Test detected 6 pre-existing probe/firmware warnings (PCIe -ENODATA, QSEECOM -EBUSY, FastRPC/QRTR glink endpoint -ENOMEM, regulatory.db -ENOENT) that are unrelated to the PR (which only modifies Bluetooth mgmt_config) and do not affect system functionality (all functional tests pass).
  3. Possible fix: Suppress these known benign probe warnings in the Probe_Failure_Check test filter, or adjust the test to exclude non-fatal probe deferrals and optional firmware loads. The PR is not the cause and should not be blocked by this test failure.
  4. Detail analysis attachment: failed_case_job269728_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: The video codec device aa00000.video-codec failed to attach to an IOMMU group because the video codec driver did not probe successfully on the purwa-evk platform, causing the SMMU validation test to fail when checking for critical master IOMMU protection.
  3. Possible fix: This is a pre-existing platform issue unrelated to PR UPSTREAM: Bluetooth: mgmt: Add idle_timeout to configurable system pa… #1306 (which only modifies Bluetooth management code). Investigate why the video codec driver at address aa00000 is not probing on purwa-evk: check device tree for video codec node presence, verify driver is built and loaded, check for probe errors in early boot logs, and confirm whether video codec hardware is expected to be present on this platform variant.
  4. Detail analysis attachment: failed_case_job269728_2_detailed.md
  Case 3: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: KVM is unavailable on purwa-evk because the Gunyah hypervisor is running at EL2, preventing KVM from initializing. The kernel message "kvm [1]: HYP mode not available" at boot confirms that KVM detected it cannot operate when another hypervisor (Gunyah) already controls EL2.
  3. Possible fix: This is not a kernel bug or PR-introduced regression. The test expectation is incorrect for this platform configuration. Either: (1) disable Gunyah hypervisor in the boot configuration if KVM testing is required, or (2) mark KVM tests as "skip" for purwa-evk when Gunyah is enabled, as both cannot coexist.
  4. Detail analysis attachment: failed_case_job269728_3_detailed.md
  Case 4: ** KVM Driver Initialization Failure — /dev/kvm not available
  1. Failed case: ** KVM Driver Initialization Failure — /dev/kvm not available
  2. Root cause: ** KVM driver failed to initialize during early boot because the platform does not support EL2 (Hypervisor mode). The kernel message kvm [1]: HYP mode not available at boot time (5.965962s) indicates the CPU is not running at EL2 or EL2 is not accessible, preventing KVM from creating the /dev/kvm device node.
  3. Possible fix: This is a platform/hardware limitation, not a kernel bug or PR-introduced regression. The purwa-evk board does not support KVM virtualization. Mark KVM tests as "skip" or "not applicable" for purwa-evk in the LAVA test suite configuration, or exclude purwa-evk from KVM test jobs. If KVM support is expected on this platform, verify bootloader configuration (EL2 entry, secure boot settings) and confirm the SoC specification supports virtualization extensions.
  4. Detail analysis attachment: failed_case_job269728_4_detailed.md
  Case 5: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM infrastructure unavailable because the purwa-evk platform does not support EL2 hypervisor mode — kernel reports "HYP mode not available" at boot, preventing /dev/kvm device creation.
  3. Possible fix: This is a platform hardware limitation, not a kernel regression. The purwa-evk board does not have EL2 virtualization support enabled in firmware/bootloader. Either: (1) skip KVM tests on purwa-evk in the CI test plan, or (2) enable EL2 in the platform firmware if the SoC supports it, or (3) run KVM tests only on platforms with confirmed EL2 support (e.g., rb5, rb3gen2).
  4. Detail analysis attachment: failed_case_job269728_5_detailed.md
  Case 6: ** LAVA Test Definition Name Corruption — Test framework signal parsing failure
  1. Failed case: ** LAVA Test Definition Name Corruption — Test framework signal parsing failure
  2. Root cause: ** Excessive DRM/DPU console output ([drm:dpu_encoder_phys_vid_wait_for_commit_done:543] [dpu error]vblank timeout: 80020840) interleaved with LAVA test framework signals on serial console, corrupting the test definition name from 0_qcom-next-ci-premerge-tests to 0_qcom-next-c[ during signal parsing at line 5330, causing LAVA to mark the test run as "unfinished" despite all individual test cases completing successfully.
  3. Possible fix: This is a pre-existing LAVA infrastructure issue on purwa-evk, not a PR-introduced regression. The PR modifies only Bluetooth code (net/bluetooth/mgmt_config.c) and has zero connection to DRM/DPU. Mitigation: (1) Suppress DRM console output by adding drm.debug=0 or loglevel=3 to kernel command line for CI runs, OR (2) Configure LAVA to use a separate console channel for test signals (netconsole or dedicated UART), OR (3) Increase LAVA signal parser robustness to handle interleaved kernel messages. This is NOT a blocker for PR merge.
  4. Detail analysis attachment: failed_case_job269728_6_detailed.md

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