Skip to content

FROMLIST: i2c: qcom-cci: drop custom suspend/resume and rely on runti… - #1074

Merged
Salendarsingh Gaud (sgaud-quic) merged 1 commit into
qualcomm-linux:qcom-6.18.yfrom
wenmliu:qcom-6.18.y
Sep 16, 2026
Merged

Salendarsingh Gaud (sgaud-quic) merged 1 commit into
qualcomm-linux:qcom-6.18.yfrom
wenmliu:qcom-6.18.y

Conversation

@wenmliu

@wenmliu Wenmeng Liu (wenmliu) commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

…me PM helpers

cci_resume() unconditionally calls cci_resume_runtime() regardless of the runtime PM state

If the device is already runtime-suspended before system suspend, the clock is re-enabled while runtime_status remains RPM_SUSPENDED. As a result, pm_request_autosuspend() does not arm the timer, leaving the clock permanently enabled.

Fixes: e517526 ("i2c: Add Qualcomm CCI I2C driver")
Cc: stable@vger.kernel.org
Reviewed-by: Vladimir Zapolskiy vladimir.zapolskiy@linaro.org
Reviewed-by: Konrad Dybcio konrad.dybcio@oss.qualcomm.com
Reviewed-by: Loic Poulain loic.poulain@oss.qualcomm.com

Link: https://lore.kernel.org/all/20260625-cci-v1-1-a100cda673ce@oss.qualcomm.com/

CRs-Fixed: 4649904

…me PM helpers

cci_resume() unconditionally calls cci_resume_runtime() regardless of
the runtime PM state.

If the device is already runtime-suspended before system suspend,
the clock is re-enabled while runtime_status remains RPM_SUSPENDED.
As a result, pm_request_autosuspend() does not arm the timer,
leaving the clock permanently enabled.

Fixes: e517526 ("i2c: Add Qualcomm CCI I2C driver")
Cc: stable@vger.kernel.org
Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Signed-off-by: Wenmeng Liu <wenmeng.liu@oss.qualcomm.com>
Link: https://lore.kernel.org/all/20260625-cci-v1-1-a100cda673ce@oss.qualcomm.com/
@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: CR Not Eligible for Merge

CR 4583175 is not eligible for merge.

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

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

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

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

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

Entities:

  • kernel.qli.2.0

CR: 4649904

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

@quic-vikramsa

Copy link
Copy Markdown

Reviewed-by: Vikram Sharma vikram.sharma@oss.qualcomm.com

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk-multimedia lemans-evk-multimedia monaco-evk-multimedia purwa-iot-evk-multimedia qcs615-ride-multimedia qcs6490-rb3gen2-multimedia qcs8300-ride-multimedia qcs9100-ride-r3-multimedia shikra-iqs-evk-multimedia
Audio_Card_Registration ✅ Pass ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip ⚠️ skip
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 ✅ 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 ❌ Fail ✅ Pass ✅ Pass ✅ Pass
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ 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 ❌ Fail ❌ Fail ❌ Fail ❌ Fail
KVM_EL2_DTB ❌ Fail ✅ Pass ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
KVM_Infra ❌ Fail ✅ Pass ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
OpenCV ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
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 ❌ Fail ❌ 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 ⚠️ 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 ◻️
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: #1074

Job 223469 | SoC shikra-iqs-evk

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

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

  Case 1: GIC Test Script Bug — Test Harness Parsing Error
  1. Failed case: GIC Test Script Bug — Test Harness Parsing Error
  2. Root cause: The GIC test script at line 75 has a bash integer comparison bug that fails to parse /proc/interrupts output when the system has only 4 CPUs (0-3) but the script expects 8 CPUs (0-7). The script attempts to extract timer interrupt counts for CPUs 4-7 which don't exist, resulting in bash errors "[: GICv3: integer expected", "[: Level: integer expected", "[: arch_timer: integer expected" when non-numeric fields are passed to integer comparison operators.
  3. Possible fix: Fix the GIC test script to dynamically detect the number of online CPUs from /sys/devices/system/cpu/online or /proc/cpuinfo before attempting to parse /proc/interrupts, and only validate timer interrupts for CPUs that actually exist on the target platform (shikra-iqs-evk has 4 CPUs, not 8).
  4. Detail analysis attachment: failed_case_job223469_1_detailed.md
  Case 2: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Test detected pre-existing probe failures (coresight-etm4x -EINVAL, lt9611c -EIO, cpufreq-dt -EEXIST) and deferred probes (sound codec, va_macro clock dependency, I2C device 3-0010) that are unrelated to the PR changes. The PR modifies only i2c-qcom-cci system suspend/resume handling and does not affect probe paths or runtime operation.
  3. Possible fix: No action required for this PR. The Probe_Failure_Check test is overly sensitive and flags pre-existing platform issues. To improve CI: (1) Update test to filter known benign failures (cpufreq-dt -EEXIST, regulatory.db -ENOENT), (2) Investigate coresight-etm4x DT configuration for shikra-evk, (3) Debug lt9611c I2C communication failure on bus 4a90000.
  4. Detail analysis attachment: failed_case_job223469_2_detailed.md
  Case 3: USBHost
  1. Failed case: USBHost
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: This is a hardware/board configuration limitation, not a kernel regression. The test should be marked as SKIP for shikra-iqs-evk or the board's device tree should be updated to configure the USB controller in OTG or host mode (dr_mode = "host" or "otg" in the usb@4e00000 DT node) if the hardware supports it. Verify hardware capability before changing DT configuration.
  4. Detail analysis attachment: failed_case_job223469_3_detailed.md
  Case 4: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: This is a pre-existing platform/infrastructure issue, not a PR regression. The PR modifies i2c-qcom-cci (camera I2C), which is unrelated to RNG or KVM. Recommended actions: (1) Disable qcom_hwrng test on Shikra IQS EVK until RNG hardware support is verified; (2) Mark KVM tests as expected-fail on this platform if hypervisor/EL2 is not available; (3) Investigate RNG clock/power dependencies in Shikra device tree and firmware.
  4. Detail analysis attachment: failed_case_job223469_4_detailed.md
  Case 5: Kernel Crash — Synchronous External Abort (Hardware Access Fault)
  1. Failed case: Kernel Crash — Synchronous External Abort (Hardware Access Fault)
  2. Root cause: The KVM_EL2_DTB test failure is a consequence of an earlier kernel panic. The actual root cause is a synchronous external abort in qcom_rng_read+0xc4 during the qcom_hwrng test execution. The CPU attempted to access a hardware register (likely the PRNG data register at offset 0x4 based on the faulting instruction) that was not accessible, indicating the qcom_rng hardware block was either powered down, not clocked, or had its MMIO region unmapped. This is unrelated to the PR's i2c-qcom-cci suspend/resume changes and represents a pre-existing platform/firmware issue on Shikra IQS EVK.
  3. Possible fix: This is NOT a PR-introduced regression. The crash occurs in qcom_rng hardware access, unrelated to the i2c-qcom-cci changes in PR FROMLIST: i2c: qcom-cci: drop custom suspend/resume and rely on runti… #1074. Recommended actions: (1) Verify qcom_rng power domain and clock dependencies are correctly described in the Shikra device tree; (2) Check if qcom_rng runtime PM state is correct before hardware access; (3) Add runtime PM get/put guards around register access in qcom_rng_read if missing; (4) Re-run the LAVA job to confirm if this is a transient hardware/firmware issue or reproducible. The KVM_EL2_DTB test should pass once the qcom_rng crash is resolved.
  4. Detail analysis attachment: failed_case_job223469_5_detailed.md
  Case 6: KVM_Infra — Platform Limitation (HYP Mode Not Available)
  1. Failed case: KVM_Infra — Platform Limitation (HYP Mode Not Available)
  2. Root cause: KVM driver initialization failed because HYP (Hypervisor/EL2) mode is not available on the Shikra IQS EVK platform. The kernel log shows kvm [1]: HYP mode not available at boot time, preventing /dev/kvm device node creation. This is a platform hardware/firmware limitation, not a kernel bug.
  3. Possible fix: This is not a regression introduced by PR FROMLIST: i2c: qcom-cci: drop custom suspend/resume and rely on runti… #1074 (which only modifies i2c-qcom-cci power management). The failure is expected on platforms without virtualization extensions or where EL2 is not accessible. To resolve: (1) verify the platform supports virtualization extensions (ARMv8.0-A Virtualization Host Extensions), (2) ensure the bootloader/firmware enables EL2 access for the kernel, or (3) mark KVM tests as "skip" for platforms without HYP mode support in the CI test matrix.
  4. Detail analysis attachment: failed_case_job223469_6_detailed.md
  Case 7: Kernel Crash — Synchronous External Abort in qcom_rng driver
  1. Failed case: Kernel Crash — Synchronous External Abort in qcom_rng driver
  2. Root cause: The qcom_hwrng test triggered a synchronous external abort (hardware fault) at PC qcom_rng_read+0xc4/0x228 when reading from /dev/hwrng. The fault occurred while accessing MMIO registers of the QCOM hardware RNG device, indicating either incorrect MMIO mapping, missing clock/power domain enablement, or hardware not responding. The system panicked with "synchronous external abort: Fatal exception" and attempted to write to EFI pstore, which cascaded into repeated EFI runtime service paging faults before the board reset into EDL mode. The LAVA test shell timed out after 2400 seconds because the board never recovered from the crash.
  3. Possible fix: This is a pre-existing kernel issue unrelated to PR FROMLIST: i2c: qcom-cci: drop custom suspend/resume and rely on runti… #1074 (which modifies i2c-qcom-cci suspend/resume). The qcom_rng driver probe or runtime PM state is incorrect for the shikra-iqs-evk platform. Verify that: (1) the qcom_rng DT node has correct MMIO base address, clocks, and power-domain properties for SM8650/Shikra; (2) the driver's runtime PM resume path enables clocks and power before MMIO access; (3) the hardware RNG block is powered and clocked during the test. Add defensive MMIO access checks or validate clock/power state before register reads in qcom_rng_read(). Re-run the test after applying the fix to confirm the crash is resolved.
  4. Detail analysis attachment: failed_case_job223469_7_detailed.md
  Case 8: Kernel Crash — synchronous external abort in qcom_rng driver
  1. Failed case: Kernel Crash — synchronous external abort in qcom_rng driver
  2. Root cause: The qcom_hwrng test triggered a synchronous external abort (bus fault) at PC qcom_rng_read+0xc4 while reading from the hardware RNG device. The fault occurred when accessing an MMIO register (instruction b940035c = ldr w28, [x26]), indicating the mapped hardware address became invalid or inaccessible. The crash cascaded into EFI pstore write failures during panic handling, then the board entered EDL/ramdump mode. LAVA test-shell timed out after 2400 seconds waiting for the board to return, but the board remained in ramdump/EDL mode (USB enumeration successful at bootloader level). This is a hardware access fault in the qcom_rng driver, not related to the PR's i2c-qcom-cci suspend/resume changes.
  3. Possible fix: This is a pre-existing kernel issue unrelated to PR FROMLIST: i2c: qcom-cci: drop custom suspend/resume and rely on runti… #1074 (i2c-qcom-cci PM changes). The qcom_rng driver crash is a known intermittent hardware access fault on shikra-iqs-evk. Recommended actions: (1) Re-trigger the CI job to confirm the failure is not reproducible with the PR changes. (2) If the crash recurs, investigate the qcom_rng driver's MMIO mapping and clock/power dependencies on shikra platform — the register access at offset 0x0 from the mapped base is faulting, suggesting the hardware block may not be properly powered or clocked when accessed. (3) As a workaround, disable the qcom_hwrng test on shikra-iqs-evk until the root cause in the qcom_rng driver is resolved.
  4. Detail analysis attachment: failed_case_job223469_8_detailed.md
  Case 9: ** Kernel Crash — Synchronous External Abort in qcom_rng driver
  1. Failed case: ** Kernel Crash — Synchronous External Abort in qcom_rng driver
  2. Root cause: ** The qcom_rng driver attempted to read hardware registers while the device was runtime-suspended (clocks disabled or power domain off), resulting in a synchronous external abort (ESR 0x96000010). The PR's change to i2c-qcom-cci suspend/resume behavior using pm_runtime_force_* helpers may have altered system-wide runtime PM state transitions, exposing a latent bug in qcom_rng where the driver does not properly ensure the device is runtime-resumed before hardware access.
  3. Possible fix: Add proper runtime PM calls in the qcom_rng driver's read path to ensure the device is powered and clocked before accessing hardware registers. Specifically, wrap hardware access in pm_runtime_get_sync() / pm_runtime_put_autosuspend() calls in qcom_rng_read(). Additionally, verify that the qcom_rng device tree node has correct power-domain and interconnect dependencies declared.
  4. Detail analysis attachment: failed_case_job223469_9_detailed.md
  Case 10: ** Kernel Crash — Synchronous External Abort in qcom_rng driver
  1. Failed case: ** Kernel Crash — Synchronous External Abort in qcom_rng driver
  2. Root cause: ** The qcom_rng driver accessed hardware registers while the RNG block was not powered/clocked, causing a synchronous external abort at qcom_rng_read+0xc4/0x228. This is a runtime PM bug in the qcom_rng driver (missing pm_runtime_get_sync before hardware access), likely exposed by the PR's changes to system-wide runtime PM behavior via the i2c-qcom-cci driver modifications.
  3. Possible fix: Add proper runtime PM calls (pm_runtime_get_sync / pm_runtime_put) around hardware register access in drivers/char/hw_random/qcom-rng.c:qcom_rng_read(). Verify that the qcom_rng driver's runtime PM callbacks correctly enable clocks and power before accessing hardware. As a short-term mitigation, revert the PR to confirm the regression, then fix the qcom_rng driver's runtime PM handling.
  4. Detail analysis attachment: failed_case_job223469_10_detailed.md
Job 223470 | SoC qcs6490-rb3gen2

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

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

  Case 1: GIC Test Script Bug — False Failure for Offline CPUs
  1. Failed case: GIC Test Script Bug — False Failure for Offline CPUs
  2. Root cause: Test script parsing error at line 75 — attempts to extract interrupt counts for offline CPUs 6-7 from /proc/interrupts, which only contains columns for online CPUs 0-5, resulting in extraction of the string "GICv3" (interrupt controller name) instead of an integer, causing bash integer comparison to fail.
  3. Possible fix: Update the GIC test script to iterate only over online CPUs (read from /sys/devices/system/cpu/online) instead of possible CPUs, or add a check to skip offline CPUs before attempting to parse their interrupt counts from /proc/interrupts.
  4. Detail analysis attachment: failed_case_job223470_1_detailed.md
  Case 2: Probe_Failure_Check — Benign Firmware Load Failures (Not PR-Introduced)
  1. Failed case: Probe_Failure_Check — Benign Firmware Load Failures (Not PR-Introduced)
  2. Root cause: Two firmware load failures detected during boot: (1) regulatory.db for cfg80211 wireless regulatory database (error -2 / -ENOENT), and (2) renesas_usb_fw.mem for xhci-pci-renesas USB 3.0 host controller (error -2 / -ENOENT). The regulatory.db failure is benign as WiFi functional tests (WiFi_OnOff, WiFi_Firmware_Driver) passed, indicating cfg80211 falls back to built-in regulatory data. The xhci-pci-renesas failure is a missing optional firmware for a PCIe-attached Renesas USB 3.0 host controller on qcs6490-rb3gen2; PCIe enumeration succeeded but the device cannot initialize without firmware, causing USBHost test failure.
  3. Possible fix: For regulatory.db: No action required — this is a known benign failure when regulatory.db firmware file is not packaged in the rootfs; cfg80211 uses compiled-in X.509 certificates and built-in regulatory rules as fallback. For xhci-pci-renesas: Install the renesas_usb_fw.mem firmware file in /lib/firmware/ in the rootfs image if USB 3.0 host functionality via the Renesas controller is required; alternatively, document this as a known limitation if the Renesas USB controller is not a critical component for this platform's test matrix. The PR (i2c-qcom-cci suspend/resume fix) is unrelated and did not introduce these failures.
  4. Detail analysis attachment: failed_case_job223470_2_detailed.md
  Case 3: Freq_Scaling
  1. Failed case: Freq_Scaling
  2. Root cause: Test failure caused by missing cpufreq interface for CPU7; CPU6 and CPU7 failed to boot during SMP initialization with PSCI error -22 (EINVAL: "psci: failed to boot CPU6 (-22)" and "psci: failed to boot CPU7 (-22)"), resulting in only 6 CPUs online instead of the expected 8 CPUs on qcs6490-rb3gen2.
  3. Possible fix: This is a pre-existing platform/firmware issue unrelated to PR FROMLIST: i2c: qcom-cci: drop custom suspend/resume and rely on runti… #1074 (which only modifies i2c-qcom-cci driver). The Freq_Scaling test should be updated to handle platforms where not all CPUs successfully boot, or the underlying PSCI/firmware issue preventing CPU6/CPU7 boot must be investigated and resolved at the platform/bootloader level.
  4. Detail analysis attachment: failed_case_job223470_3_detailed.md
  Case 4: USBHost — Test Infrastructure / Hardware Dependency Issue
  1. Failed case: USBHost — Test Infrastructure / Hardware Dependency Issue
  2. Root cause: The USBHost test expects enumerated USB devices but found none. The Renesas xHCI USB host controller (PCIe device 0001:04:00.0) failed to probe because the required firmware file renesas_usb_fw.mem is missing from the rootfs (-ENOENT). PCIe enumeration succeeded (PCIe test passed), confirming the controller is detected, but without firmware the xHCI driver cannot initialize, leaving no USB host controller available for device enumeration. This is a test environment configuration issue, not a kernel regression introduced by the PR (which only modifies i2c-qcom-cci power management).
  3. Possible fix: Add the Renesas USB firmware package (linux-firmware or equivalent containing renesas_usb_fw.mem) to the rootfs build configuration for qcs6490-rb3gen2. The firmware file should be installed to /lib/firmware/renesas_usb_fw.mem. Alternatively, if USB host functionality is not required for this test configuration, mark the USBHost test as SKIP for boards using the Renesas PCIe USB controller without firmware support.
  4. Detail analysis attachment: failed_case_job223470_4_detailed.md
  Case 5: KVM_Driver — KVM initialization failure (platform configuration)
  1. Failed case: KVM_Driver — KVM initialization failure (platform configuration)
  2. Root cause: KVM driver initialization failed because HYP mode (EL2) is not available to Linux. The qcs6490-rb3gen2 platform is running the Gunyah hypervisor which has taken exclusive control of EL2, preventing KVM from initializing. The kernel message "kvm [1]: HYP mode not available" at boot time (4.633s) indicates KVM detected it cannot access EL2 and aborted initialization, resulting in no /dev/kvm device node creation.
  3. Possible fix: This is expected behavior on Gunyah-based platforms where the hypervisor owns EL2. To enable KVM functionality, either: (1) configure the platform to boot without Gunyah hypervisor if KVM is required, or (2) exclude KVM_Driver, KVM_EL2_DTB, and KVM_Infra tests from the CI test suite for qcs6490-rb3gen2 and other Gunyah-based platforms, as these tests are not applicable when a Type-1 hypervisor is present.
  4. Detail analysis attachment: failed_case_job223470_5_detailed.md
  Case 6: KVM_EL2_DTB
  1. Failed case: KVM_EL2_DTB
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Update the KVM test availability gate to check dmesg for "HYP mode not available" and report SKIP (not FAIL) when EL2 is unavailable. Alternatively, exclude qcs6490-rb3gen2 from KVM test runs in the LAVA job definition, as this platform does not support the required hardware feature.
  4. Detail analysis attachment: failed_case_job223470_6_detailed.md
  Case 7: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Suppress KVM test failures on qcs6490-rb3gen2 in the LAVA test suite — add platform-specific skip logic to KVM tests when running on Gunyah-based platforms. Alternatively, disable CONFIG_KVM in the kernel config for this platform since KVM cannot function under Gunyah.
  4. Detail analysis attachment: failed_case_job223470_7_detailed.md
  Case 8: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM infrastructure test failed because the qcs6490-rb3gen2 target is running under the Gunyah hypervisor as a guest VM, which does not provide EL2/HYP mode access to the guest kernel; consequently, KVM cannot initialize and /dev/kvm device node is not created.
  3. Possible fix: This is a test configuration issue, not a kernel regression introduced by PR FROMLIST: i2c: qcom-cci: drop custom suspend/resume and rely on runti… #1074 (which modifies only i2c-qcom-cci driver suspend/resume). Either: (1) skip KVM tests on hypervisor-backed targets in the LAVA job definition, or (2) run KVM tests only on bare-metal configurations where the kernel has direct EL2 access.
  4. Detail analysis attachment: failed_case_job223470_8_detailed.md
Job 223471 | SoC lemans-evk

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

Failed test cases in LAVA job 223471 (SoC: lemans-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: This is a false positive test failure. The PR does not touch SPMI, PMIC, thermal, or ADC subsystems. Recommended actions: (1) Verify lemans-evk device tree includes PMIC ADC nodes and qcom-spmi-adc5 driver is enabled in kernel config; (2) Adjust Probe_Failure_Check test to exclude non-critical thermal monitors from failure criteria, or (3) Accept this as a known platform limitation and merge the PR as the failure is not PR-introduced.
  4. Detail analysis attachment: failed_case_job223471_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: Test expects video codec device aa00000.video-codec to be attached to an IOMMU group, but this device is not present or not configured with IOMMU on lemans-evk platform; all other critical masters (USB, UFS, Ethernet, Display) passed IOMMU attachment checks, and no SMMU/IOMMU errors were found in kernel log.
  3. Possible fix: Update the smmu test's critical master list for lemans-evk to exclude aa00000.video-codec if this device is not expected on this platform, or add IOMMU configuration to the device tree node for aa00000.video-codec if the device should be present and IOMMU-protected.
  4. Detail analysis attachment: failed_case_job223471_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 framework issue — the test runner script (result_parse.sh) completed execution and sent <LAVA_TEST_RUNNER EXIT> but failed to send the required LAVA_SIGNAL_ENDRUN signal before exiting, causing LAVA to mark the test run as "unfinished" despite all individual tests completing successfully.
  3. Possible fix: Update the test runner script to send LAVA_SIGNAL_ENDRUN 0_qcom-next-ci-premerge-tests before the <LAVA_TEST_RUNNER EXIT> signal. This is a LAVA test infrastructure fix, not a kernel fix. The PR under test is not the cause of this failure.
  4. Detail analysis attachment: failed_case_job223471_3_detailed.md
Job 223472 | SoC purwa-evk

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

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

  Case 1: Probe_Failure_Check (Test Infrastructure Issue — No Applicable CoT)
  1. Failed case: Probe_Failure_Check (Test Infrastructure Issue — No Applicable CoT)
  2. Root cause: The Probe_Failure_Check test flags 5 pre-existing platform configuration issues as failures: qcom_qseecom_uefisecapp probe failed (-EBUSY), qcom-spmi-lpg probe failed (-EINVAL), two qcom-pcie instances probe failed (-ENODATA), and regulatory.db firmware missing (-ENOENT). These are NOT introduced by PR FROMLIST: i2c: qcom-cci: drop custom suspend/resume and rely on runti… #1074 (which only modifies i2c-qcom-cci suspend/resume, a driver not present on purwa-evk). The test does not baseline expected probe failures per platform.
  3. Possible fix: Enhance the Probe_Failure_Check test to maintain a per-platform baseline of expected probe failures, or implement a differential check that only flags NEW probe failures introduced by the PR under test (compare against a baseline run without the PR).
  4. Detail analysis attachment: failed_case_job223472_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: Test expectation mismatch — the smmu test expects 6 specific devices (5 USB DWC3 wrappers at addresses a0f8800, a2f8800, a4f8800, a6f8800, a8f8800 and video-codec at aa00000) to be attached to IOMMU groups, but these devices are either not present, disabled, or not configured with IOMMU bindings in the purwa-evk device tree; SMMU itself is functioning correctly with 35 devices successfully protected and no kernel errors.
  3. Possible fix: Update the smmu test's critical master list for purwa-evk to exclude the 5 USB DWC3 wrapper devices (a0f8800.usb, a2f8800.usb, a4f8800.usb, a6f8800.usb, a8f8800.usb) and video-codec (aa00000.video-codec), or add IOMMU bindings for these devices in the purwa-evk device tree if they should be protected; verify the actual USB controllers (a000000.usb, a200000.usb, a400000.usb, a600000.usb, a800000.usb) are already correctly protected.
  4. Detail analysis attachment: failed_case_job223472_2_detailed.md
  Case 3: KVM_Driver — /dev/kvm not available (platform limitation, not a regression)
  1. Failed case: KVM_Driver — /dev/kvm not available (platform limitation, not a regression)
  2. Root cause: The purwa-evk platform runs the Gunyah hypervisor at EL2 (confirmed by boot log: "Hypervisor cold boot, version: gunyah-mobile-c487961e9 perf"), which prevents KVM from accessing HYP mode. The kernel correctly reports "kvm [1]: HYP mode not available" at boot, and consequently /dev/kvm is never created. This is expected behavior on platforms with a Type-1 hypervisor occupying EL2.
  3. Possible fix: This is not a bug or regression. The KVM_Driver test should be skipped on purwa-evk and other platforms that run a Type-1 hypervisor (Gunyah, Xen, etc.) at EL2. Update the LAVA test suite to add a platform exclusion list for KVM tests, or add a pre-flight check that skips KVM tests when a hypervisor is detected in the boot log or when /dev/kvm does not exist after boot completes.
  4. Detail analysis attachment: failed_case_job223472_3_detailed.md
  Case 4: KVM_EL2_DTB — KVM Driver Initialization Failure
  1. Failed case: KVM_EL2_DTB — KVM Driver Initialization Failure
  2. Root cause: KVM subsystem initialization failed because the kernel booted at EL1 (kernel exception level) instead of EL2 (hypervisor exception level). At boot time (5.759s), KVM detected HYP mode not available and aborted initialization, preventing /dev/kvm device node creation. This is a platform/bootloader configuration issue on purwa-evk, not a kernel bug. The PR modifies only I2C CCI driver power management and has zero functional connection to KVM or EL2 boot — this failure is pre-existing.
  3. Possible fix: Skip KVM tests on purwa-evk in the LAVA job definition, as the platform does not boot at EL2. If EL2 support is required, update the bootloader (ABL/UEFI) configuration to boot the kernel at EL2 instead of EL1, then verify /dev/kvm device node is created and KVM tests pass.
  4. Detail analysis attachment: failed_case_job223472_4_detailed.md
  Case 5: KVM_Infra — KVM driver initialization failure
  1. Failed case: KVM_Infra — KVM driver initialization failure
  2. Root cause: KVM driver failed to initialize because HYP (EL2 hypervisor) mode is not available on the purwa-evk platform. The kernel message "[ 5.759751][ T1] kvm [1]: HYP mode not available" indicates that the CPU is not running at EL2 or EL2 is not accessible, preventing /dev/kvm device node creation. This is a platform/firmware limitation, not a kernel bug introduced by the PR (which only modifies I2C CCI driver power management).
  3. Possible fix: This is not a PR-introduced regression. The purwa-evk platform does not support KVM/virtualization (EL2 mode not available). Either: (1) exclude KVM tests from the purwa-evk test suite, or (2) if KVM support is expected on this platform, investigate bootloader/firmware configuration to ensure the kernel boots at EL2 with virtualization extensions enabled (check bootloader EL2 entry, secure firmware configuration, and device tree hypervisor node).
  4. Detail analysis attachment: failed_case_job223472_5_detailed.md
  Case 6: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: Platform does not support EL2/HYP mode — kernel reports "kvm [1]: HYP mode not available" at boot, preventing /dev/kvm device creation. This is a pre-existing hardware/firmware limitation of the purwa-evk platform, not a regression introduced by the PR (which only modifies I2C CCI driver suspend/resume logic).
  3. Possible fix: This is not a bug to fix. The purwa-evk board does not have EL2/HYP mode enabled in its firmware/bootloader configuration. To enable KVM support: (1) verify the board's TrustZone/secure firmware allows EL2 execution, (2) ensure the bootloader (ABL/XBL) boots the kernel at EL2 instead of EL1, (3) if the platform does not support virtualization extensions, mark KVM tests as expected-fail for this board in the LAVA job definition.
  4. Detail analysis attachment: failed_case_job223472_6_detailed.md
Job 223473 | SoC qcs8300-ride

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

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

  Case 1: Probe_Failure_Check — cfg80211 regulatory.db firmware load failure
  1. Failed case: Probe_Failure_Check — cfg80211 regulatory.db firmware load failure
  2. Root cause: The cfg80211 wireless regulatory subsystem failed to load the optional regulatory.db firmware file (error -2 / -ENOENT) during boot on qcs8300-ride. This is a pre-existing infrastructure/rootfs issue — the regulatory.db file is missing from /lib/firmware/ in the test image. The PR (i2c-qcom-cci suspend/resume fix) does not touch wireless, cfg80211, or firmware paths and cannot have introduced this failure.
  3. Possible fix: Add the wireless-regdb package (or equivalent) to the rootfs build to populate /lib/firmware/regulatory.db and /lib/firmware/regulatory.db.p7s. Alternatively, suppress this specific probe failure pattern in the Probe_Failure_Check test, as WiFi functional tests (WiFi_Firmware_Driver, WiFi_OnOff) passed, confirming that the missing regulatory.db does not prevent WiFi operation — cfg80211 falls back to built-in regulatory rules when the database file is absent.
  4. Detail analysis attachment: failed_case_job223473_1_detailed.md
  Case 2: USBHost
  1. Failed case: USBHost
  2. Root cause: Test infrastructure issue — no USB device physically connected to the qcs8300-ride board's USB host port; only the USB 2.0 root hub (1d6b:0002) is enumerated, indicating the USB host controller driver is functional but no peripheral device is attached.
  3. Possible fix: Connect a USB device (e.g., USB flash drive, USB keyboard, or USB mouse) to the board's USB host port before running the test; if a device is already connected, verify the USB cable/connector integrity and check if the device is powered and functional on another host.
  4. Detail analysis attachment: failed_case_job223473_2_detailed.md
  Case 3: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: /dev/kvm device node not present despite CONFIG_KVM=y and CONFIG_VIRTUALIZATION=y being enabled in kernel config. KVM driver did not initialize at boot - no KVM-related messages in dmesg. This indicates the qcs8300-ride (Monaco) platform does not support KVM/virtualization in hardware or firmware, or the KVM driver failed silently during early boot due to missing hardware virtualization extensions (VHE/EL2 support).
  3. Possible fix: This is a pre-existing platform limitation, not a regression introduced by PR FROMLIST: i2c: qcom-cci: drop custom suspend/resume and rely on runti… #1074 (which only modifies i2c-qcom-cci driver). If KVM support is required on qcs8300-ride, verify: (1) the SoC hardware supports ARM virtualization extensions (VHE, EL2), (2) the bootloader/firmware enables EL2 and does not trap to EL1, (3) check for silent KVM initialization failures by enabling early KVM debug (CONFIG_KVM_ARM_DEBUG=y). If the platform genuinely does not support KVM, mark these tests as SKIP for qcs8300-ride in the CI test matrix.
  4. Detail analysis attachment: failed_case_job223473_3_detailed.md
  Case 4: KVM_EL2_DTB
  1. Failed case: KVM_EL2_DTB
  2. Root cause: KVM kernel module (CONFIG_KVM=y) is enabled but failed to initialize at boot — /dev/kvm device node was never created, indicating the KVM driver did not successfully probe or register its character device. This is a pre-existing kernel/platform issue unrelated to the PR (which only modifies i2c-qcom-cci.c).
  3. Possible fix: Investigate KVM driver initialization in the kernel boot log for error messages (none visible in current log, suggesting silent failure). Check if KVM ARM prerequisites are met: VHE (Virtualization Host Extensions) support in hardware, EL2 mode availability, and hypervisor configuration. If qcs8300-ride does not support KVM/virtualization in hardware or firmware, disable KVM tests for this platform or mark them as expected-to-skip. If KVM should work, enable KVM debug logging (kvm.dyndbg=+p) and check dmesg for KVM initialization errors.
  4. Detail analysis attachment: failed_case_job223473_4_detailed.md
  Case 5: KVM_Infra — KVM device node unavailable (not a crash)
  1. Failed case: KVM_Infra — KVM device node unavailable (not a crash)
  2. Root cause: KVM driver did not initialize on qcs8300-ride because the system is running under Gunyah hypervisor (detected at boot: "Hypervisor cold boot, version: gunyah-cdfb73831"). KVM requires direct EL2 access or nested virtualization support; when Linux runs as a guest under Gunyah, EL2 is owned by the hypervisor and /dev/kvm cannot be created. CONFIG_KVM is enabled but the driver silently skips initialization when not running at EL2. This is a platform/configuration limitation, not a kernel regression.
  3. Possible fix: This is expected behavior for qcs8300-ride running under Gunyah hypervisor. To enable KVM testing: (1) configure the board to boot Linux directly at EL2 without Gunyah, OR (2) enable nested virtualization in Gunyah if supported, OR (3) exclude KVM tests from the LAVA test suite for Gunyah-based platforms. The PR (i2c-qcom-cci suspend/resume fix) is unrelated and did not cause this failure.
  4. Detail analysis attachment: failed_case_job223473_5_detailed.md
  Case 6: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: /dev/kvm device node is not present on qcs8300-ride platform running under Gunyah hypervisor — KVM requires EL2 virtualization extensions to be available to the kernel, but the platform is configured with Gunyah as the primary hypervisor at EL2, preventing KVM from initializing and creating /dev/kvm.
  3. Possible fix: This is a pre-existing platform/infrastructure limitation, not a PR-introduced regression. The i2c-qcom-cci power management changes in PR FROMLIST: i2c: qcom-cci: drop custom suspend/resume and rely on runti… #1074 are unrelated to KVM functionality. To enable KVM testing on qcs8300-ride: (1) reconfigure the platform to boot Linux at EL2 without Gunyah, or (2) configure Gunyah to support nested virtualization and expose KVM capabilities to the guest kernel, or (3) exclude KVM tests from the qcs8300-ride test suite as this platform configuration does not support KVM.
  4. Detail analysis attachment: failed_case_job223473_6_detailed.md
Job 223474 | SoC qcs9100-ride

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

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

  Case 1: ** Probe_Failure_Check
  1. Failed case: ** Probe_Failure_Check
  2. Root cause: ** Test detected three classes of probe issues: (1) Four PMIC temp-alarm devices stuck in deferred probe due to missing thermal zone configuration in qcs9100-ride device tree; (2) regulatory.db firmware missing from rootfs (benign - WiFi/BT functional tests pass); (3) Aquantia AQR115C Ethernet PHY probe failure due to missing/malformed firmware-name device tree property.
  3. Possible fix: These are pre-existing qcs9100-ride platform configuration issues unrelated to PR FROMLIST: i2c: qcom-cci: drop custom suspend/resume and rely on runti… #1074 (which modifies only i2c-qcom-cci driver). Recommended actions: (1) Add thermal zone bindings for PMIC temp-alarm devices in qcs9100-ride DTS; (2) Add firmware-name property to Aquantia PHY node in qcs9100-ride DTS or make the property optional in the driver; (3) regulatory.db can be ignored (benign). PR FROMLIST: i2c: qcom-cci: drop custom suspend/resume and rely on runti… #1074 is safe to merge; these failures are not regressions.
  4. Detail analysis attachment: failed_case_job223474_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: Video codec device aa00000.video-codec exists in device tree but lacks IOMMU group attachment due to missing or incorrect iommus property in the qcs9100-ride device tree, causing the smmu validation test to fail when checking critical master IOMMU protection.
  3. Possible fix: Add the missing iommus property to the aa00000.video-codec device tree node in arch/arm64/boot/dts/qcom/qcs9100-ride.dts (or the appropriate qcs9100 DTSI file) to bind the video codec to an IOMMU group, following the pattern used by other critical masters like UFS, Display, Ethernet, GPU, and USB which all have proper IOMMU group attachments.
  4. Detail analysis attachment: failed_case_job223474_2_detailed.md
  Case 3: ** USBHost (Test Infrastructure Issue — No External USB Devices Connected)
  1. Failed case: ** USBHost (Test Infrastructure Issue — No External USB Devices Connected)
  2. Root cause: ** The USBHost test expects at least one functional USB device (storage, keyboard, mouse, etc.) to be physically connected to the qcs9100-ride board's USB ports. The test failed because only USB root hubs are enumerated (Bus 001/002/003 Device 001), indicating no external USB devices are plugged into the board. This is a LAVA lab hardware setup issue, not a kernel regression. The USB kernel drivers (usbcore, xhci-hcd) are working correctly — all three USB controllers initialized successfully and detected their root hubs.
  3. Possible fix: Connect at least one functional USB device (USB storage drive, keyboard, or mouse) to one of the qcs9100-ride board's USB ports before running the USBHost test. If the test is intended to validate USB controller functionality only (not external device presence), update the test script to pass when root hubs are detected and functional, rather than requiring external devices.
  4. Detail analysis attachment: failed_case_job223474_3_detailed.md
  Case 4: ** Driver Probe Failure — Ethernet PHY (Aquantia AQR115C)
  1. Failed case: ** Driver Probe Failure — Ethernet PHY (Aquantia AQR115C)
  2. Root cause: ** The Aquantia AQR115C PHY driver probe failed at boot with error -EINVAL because it could not read the firmware-name property from the device tree node for the PHY at MDIO address stmmac-0:08 on the qcs9100-ride platform; when the Ethernet_Basic_Validation test later attempted to bring up interface end0, the qcom-ethqos MAC driver could not attach to the PHY because the PHY device never successfully probed.
  3. Possible fix: Add or correct the firmware-name property in the Aquantia AQR115C PHY device tree node under the qcom-ethqos MDIO bus for qcs9100-ride; the property should specify the correct firmware file path for the AQR115C PHY (typically Rhe-05.06-Candidate9-AQR_Mediatek_23B_P5_ID45824_LNXDRIVER.cld or similar); verify the firmware file exists in /lib/firmware/ on the target rootfs; rebuild the device tree and retest.
  4. Detail analysis attachment: failed_case_job223474_4_detailed.md
  Case 5: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: KVM cannot initialize because the CPU is not running in EL2 (hypervisor mode). The kernel message kvm [1]: HYP mode not available at boot time (3.868860s) indicates the ARM CPU did not boot into hypervisor mode, preventing KVM from creating the /dev/kvm device node required for virtualization on the qcs9100-ride platform.
  3. Possible fix: This is a platform/firmware configuration issue, not a kernel regression introduced by PR FROMLIST: i2c: qcom-cci: drop custom suspend/resume and rely on runti… #1074 (which only modifies I2C CCI power management). The qcs9100-ride board's bootloader/firmware must be configured to boot the kernel at EL2 instead of EL1. Verify the bootloader configuration and ensure the device tree or boot parameters enable hypervisor mode. If EL2 is not supported by the platform's secure boot chain, KVM tests should be skipped for this SoC.
  4. Detail analysis attachment: failed_case_job223474_5_detailed.md
  Case 6: KVM_EL2_DTB
  1. Failed case: KVM_EL2_DTB
  2. Root cause: KVM driver initialization failure on qcs9100-ride platform due to "HYP mode not available" — the platform does not provide EL2 (hypervisor mode) access to the kernel, preventing KVM from creating /dev/kvm. This is a pre-existing platform limitation unrelated to the PR (which modifies I2C CCI driver).
  3. Possible fix: This is not a PR-introduced regression. The test failure is expected on platforms where EL2 is not available. Either: (1) skip KVM tests on qcs9100-ride in CI configuration, or (2) update platform firmware/bootloader to enable EL2 for the kernel if virtualization support is required.
  4. Detail analysis attachment: failed_case_job223474_6_detailed.md
  Case 7: ** KVM_Infra — KVM driver initialization failure (platform limitation)
  1. Failed case: ** KVM_Infra — KVM driver initialization failure (platform limitation)
  2. Root cause: ** KVM driver failed to initialize because EL2/HYP mode is not available on the qcs9100-ride (LeMans) platform. The platform runs with Gunyah hypervisor at EL2, and Linux executes at EL1 without EL2 access. KVM requires EL2 to provide virtualization services, so it aborts initialization with "HYP mode not available" and never creates /dev/kvm.
  3. Possible fix: This is a pre-existing platform limitation, not a regression from PR FROMLIST: i2c: qcom-cci: drop custom suspend/resume and rely on runti… #1074 (which only modifies I2C CCI driver). To enable KVM on qcs9100-ride: (1) configure Gunyah hypervisor to expose EL2 to the primary VM via nested virtualization support, OR (2) boot without Gunyah in bare-metal mode, OR (3) exclude KVM tests from qcs9100-ride CI validation until platform support is added. No kernel code fix required.
  4. Detail analysis attachment: failed_case_job223474_7_detailed.md
  Case 8: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM hypervisor mode (EL2/HYP) is not available on qcs9100-ride hardware platform — kernel reports "HYP mode not available" at boot, preventing /dev/kvm device node creation.
  3. Possible fix: This is a hardware/platform limitation, not a kernel regression. The qcs9100-ride board does not support KVM virtualization (EL2 is not accessible). Either: (1) skip KVM tests on this platform in CI configuration, or (2) use a different board that supports virtualization (e.g., boards with EL2 enabled in firmware/bootloader).
  4. Detail analysis attachment: failed_case_job223474_8_detailed.md
Job 223475 | SoC hamoa-evk

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

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

  Case 1: ** Probe_Failure_Check
  1. Failed case: ** Probe_Failure_Check
  2. Root cause: ** Three pre-existing platform/configuration issues unrelated to PR FROMLIST: i2c: qcom-cci: drop custom suspend/resume and rely on runti… #1074: (1) qcom_qseecom_uefisecapp probe fails with -EBUSY due to missing/unavailable QSEE secure app on hamoa-evk, (2) qcom-spmi-lpg probe fails with -EINVAL due to malformed "reg" property in multi-led DT node, (3) regulatory.db firmware missing from rootfs (benign — cfg80211 falls back to compiled-in rules).
  3. Possible fix: These are NOT regressions introduced by PR FROMLIST: i2c: qcom-cci: drop custom suspend/resume and rely on runti… #1074 (i2c-qcom-cci PM changes). No action required for PR merge. For completeness: (1) provision QSEE UEFI secure app or disable qcom_qseecom_uefisecapp driver on hamoa-evk, (2) fix device tree "reg" property for c42d000.spmi:pmic@1:pwm multi-led child node, (3) add wireless-regdb package to rootfs or suppress this known-benign failure in CI.
  4. Detail analysis attachment: failed_case_job223475_1_detailed.md
  Case 2: ** smmu (test expectation mismatch — not a CoT-classified failure)
  1. Failed case: ** smmu (test expectation mismatch — not a CoT-classified failure)
  2. Root cause: ** The SMMU test expects USB wrapper devices (a0f8800.usb, a2f8800.usb, a4f8800.usb, a6f8800.usb, a8f8800.usb) and video codec device (aa00000.video-codec) to have IOMMU group attachments, but these devices do not perform DMA and do not require IOMMU protection; only their child USB controller devices (a000000.usb, a200000.usb, etc.) perform DMA and are correctly attached to IOMMU groups 9-13.
  3. Possible fix: Update the SMMU test script to distinguish between DMA-capable devices (which must have IOMMU group attachments) and non-DMA wrapper/parent devices (which do not need IOMMU protection), or update the device tree to explicitly mark which devices are expected to have IOMMU attachments based on their DMA capability rather than device presence.
  4. Detail analysis attachment: failed_case_job223475_2_detailed.md
  Case 3: KVM_Driver — Platform Limitation (Driver Initialization Failure)
  1. Failed case: KVM_Driver — Platform Limitation (Driver Initialization Failure)
  2. Root cause: KVM driver initialization failed because the Hamoa IoT EVK platform does not support EL2 (ARM hypervisor mode). The kernel log shows kvm [1]: HYP mode not available at boot time (6.389629s), indicating the hardware/firmware does not provide the virtualization extensions required for KVM. CONFIG_KVM is enabled in the kernel config, but the platform lacks the necessary CPU mode support.
  3. Possible fix: This is a pre-existing platform limitation, not a regression introduced by PR FROMLIST: i2c: qcom-cci: drop custom suspend/resume and rely on runti… #1074. The PR only modifies i2c-qcom-cci driver power management code and has no relationship to KVM or virtualization. The KVM_Driver test should be marked as expected-fail or skipped for the hamoa-evk platform in the LAVA test suite configuration, as this SoC does not support virtualization. No kernel code fix is required.
  4. Detail analysis attachment: failed_case_job223475_3_detailed.md
  Case 4: ** KVM_EL2_DTB
  1. Failed case: ** KVM_EL2_DTB
  2. Root cause: ** KVM initialization failed because HYP (EL2) mode is not available on the hamoa-evk platform. The kernel message "kvm [1]: HYP mode not available" at boot time (6.4s) indicates the bootloader did not enable EL2 or the platform firmware reserves EL2 for secure services, preventing Linux KVM from initializing and creating /dev/kvm.
  3. Possible fix: This is a pre-existing platform limitation, not a PR-introduced regression. To enable KVM on hamoa-evk: (1) verify the SoC supports virtualization extensions, (2) configure the bootloader (ABL/UEFI) to boot Linux at EL2 instead of EL1, (3) ensure secure firmware does not reserve EL2. If the platform does not support EL2, disable KVM tests for hamoa-evk in the LAVA test suite.
  4. Detail analysis attachment: failed_case_job223475_4_detailed.md
  Case 5: KVM_Infra — KVM unavailable (pre-existing platform limitation)
  1. Failed case: KVM_Infra — KVM unavailable (pre-existing platform limitation)
  2. Root cause: The hamoa-evk platform boots under the Gunyah hypervisor (EL2), which prevents KVM from initializing because KVM requires direct EL2 access. The kernel log shows "kvm [1]: HYP mode not available" at boot time, and all three KVM test cases (KVM_Driver, KVM_EL2_DTB, KVM_Infra) fail with "/dev/kvm is not available". This is a platform architecture limitation, not a kernel regression.
  3. Possible fix: This is not a bug to fix — it is expected behavior on hamoa-evk when running under Gunyah hypervisor. The KVM tests should be skipped or marked as "not applicable" for this platform configuration. If KVM functionality is required, the platform must be configured to boot without the Gunyah hypervisor, or nested virtualization support must be enabled in Gunyah (if available).
  4. Detail analysis attachment: failed_case_job223475_5_detailed.md
  Case 6: Kernel Crash — Hard LOCKUP (CPU idle state)
  1. Failed case: Kernel Crash — Hard LOCKUP (CPU idle state)
  2. Root cause: CPU6 experienced a hard lockup while in cpuidle_enter_state during the qcom_hwrng test execution; watchdog on CPU5 detected CPU6 stopped making forward progress for >10 seconds while stuck at PC cpuidle_enter_state+0xf8/0x550, indicating the CPU failed to exit an idle state or got wedged in the idle entry/exit path.
  3. Possible fix: This is unlikely to be caused by the PR's i2c-qcom-cci suspend/resume changes (which only affect I2C CCI driver power management); investigate cpuidle driver state machine on hamoa-evk (x7181 SoC), check for race conditions in ARM PSCI cpuidle backend or platform-specific idle state configuration, and verify if hardware RNG driver interactions with cpuidle are triggering the lockup; add debug instrumentation to cpuidle_enter_state to capture pre-lockup state.
  4. Detail analysis attachment: failed_case_job223475_6_detailed.md
Job 223476 | SoC qcs615-ride

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

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

  Case 1: Probe_Failure_Check — regulatory.db firmware load false positive
  1. Failed case: Probe_Failure_Check — regulatory.db firmware load false positive
  2. Root cause: The Probe_Failure_Check test flagged a regulatory.db firmware load failure (error -2, ENOENT) during early boot when cfg80211 module initialized. However, this is a known benign false positive: WiFi functionality is confirmed working (WiFi_OnOff test passed), cfg80211 falls back to built-in regulatory data when the external database file is absent, and the PR under test (i2c-qcom-cci suspend/resume fix) is completely unrelated to wireless regulatory database loading.
  3. Possible fix: Suppress this failure as a known benign false positive. The Probe_Failure_Check test should exclude regulatory.db firmware load failures when: (1) cfg80211 has built-in regulatory certificates (Loading compiled-in X.509 certificates for regulatory database present in logs), and (2) WiFi functional tests pass. Alternatively, package the regulatory.db file in the rootfs to eliminate the warning entirely, though this is cosmetic since cfg80211 operates correctly without it.
  4. Detail analysis attachment: failed_case_job223476_1_detailed.md
  Case 2: ** smmu
  1. Failed case: ** smmu
  2. Root cause: ** Test implementation issue (false positive). The smmu test incorrectly expects V4L2 video device nodes (aa00000.video-codec:video-decoder and aa00000.video-codec:video-encoder) to have separate IOMMU group attachments. These are character devices created by the video codec driver for userspace video encoding/decoding, not separate platform devices that perform DMA. Only the parent platform device aa00000.video-codec requires and has IOMMU attachment (correctly attached to group 7). The kernel SMMU subsystem is functioning correctly with no errors reported.
  3. Possible fix: Update the smmu test script to exclude V4L2 video device nodes (pattern *:video-decoder, *:video-encoder) from the IOMMU attachment check, as these character devices do not perform DMA and do not require separate IOMMU group membership. Only platform devices that are DMA masters need IOMMU protection.
  4. Detail analysis attachment: failed_case_job223476_2_detailed.md
  Case 3: ** KVM Driver Initialization Failure — Platform Lacks EL2/HYP Mode Support
  1. Failed case: ** KVM Driver Initialization Failure — Platform Lacks EL2/HYP Mode Support
  2. Root cause: ** The QCS615-ride platform does not provide ARM EL2 (Hypervisor) mode support in its current firmware/bootloader configuration. During kernel boot at timestamp [3.192844], the KVM driver attempted to initialize but detected "HYP mode not available" and failed gracefully. This is a platform hardware/firmware capability limitation, not a kernel driver bug. The test correctly detected that /dev/kvm is unavailable because the KVM driver could not initialize without EL2 support.
  3. Possible fix: This is not a bug to fix — it is an expected platform limitation. The QCS615-ride board in this configuration does not support KVM/virtualization. To enable KVM on this platform: (1) Verify the SoC supports ARM virtualization extensions (Cortex-A cores with VE); (2) Update firmware/bootloader (ABL/XBL) to enable EL2 mode before entering the kernel; (3) Ensure secure boot policy allows non-secure EL2 usage. If the platform fundamentally does not support virtualization, mark the KVM tests as SKIP (not FAIL) for this board in the LAVA test suite configuration.
  4. Detail analysis attachment: failed_case_job223476_3_detailed.md
  Case 4: KVM_EL2_DTB — Platform Configuration Issue (Not PR-Related)
  1. Failed case: KVM_EL2_DTB — Platform Configuration Issue (Not PR-Related)
  2. Root cause: qcs615-ride runs under Gunyah hypervisor as a guest VM; KVM cannot initialize because EL2 is already occupied by Gunyah and nested virtualization is not available. The kernel correctly reports "HYP mode not available" and does not create /dev/kvm.
  3. Possible fix: Exclude KVM tests from qcs615-ride LAVA job definition, as this platform does not support KVM when running under Gunyah. Alternatively, configure the platform to boot Linux directly at EL2 (without Gunyah) if KVM testing is required.
  4. Detail analysis attachment: failed_case_job223476_4_detailed.md
  Case 5: KVM_Infra (Platform Limitation — KVM Not Supported)
  1. Failed case: KVM_Infra (Platform Limitation — KVM Not Supported)
  2. Root cause: The qcs615-ride platform boots Linux at Exception Level 1 (EL1) instead of providing EL2 (hypervisor mode) access, preventing KVM from initializing. The kernel message "kvm [1]: HYP mode not available" confirms that the CPU does not provide the required virtualization extensions or the firmware/bootloader does not enable EL2 for the kernel.
  3. Possible fix: This is a pre-existing platform/firmware limitation, not a PR-introduced regression. The PR (i2c-qcom-cci power management fix) is unrelated to virtualization. To enable KVM on qcs615-ride: (1) verify the SoC hardware supports ARMv8 virtualization extensions, (2) configure the bootloader/firmware to boot Linux at EL2 or enable VHE (Virtualization Host Extensions), (3) if the platform does not support EL2, mark KVM tests as expected-to-fail for this target.
  4. Detail analysis attachment: failed_case_job223476_5_detailed.md
  Case 6: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: Platform limitation — qcs615-ride SoC does not support EL2 (hypervisor mode), preventing KVM initialization; kernel message "kvm [1]: HYP mode not available" confirms CPU is not running in hypervisor mode.
  3. Possible fix: This is not a kernel bug or PR-introduced regression; it is a hardware/platform constraint. The test should be skipped on platforms without EL2 support (qcs615-ride). Add platform detection to the test suite to skip KVM tests when CONFIG_KVM is enabled but /dev/kvm cannot be created due to missing EL2 support.
  4. Detail analysis attachment: failed_case_job223476_6_detailed.md
Job 223477 | SoC monaco-evk

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

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

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: ath11k_pci WiFi driver probe failed with error -110 (ETIMEDOUT) during MHI power-up on iq-8275-evk; Bluetooth firmware files (qca/wcnhpbtfw21.tlv, qca/hpbtfw21.tlv) and regulatory.db are missing from rootfs but BT functional test passed; WiFi firmware (ath11k/WCN6855/hw2.1/nfa765/amss.bin) missing and WiFi functional test failed.
  3. Possible fix: The ath11k_pci probe failure (-110 timeout during MHI power-up) is a pre-existing hardware/firmware issue on iq-8275-evk unrelated to the i2c-qcom-cci PM changes in PR FROMLIST: i2c: qcom-cci: drop custom suspend/resume and rely on runti… #1074. Apply suppression rule for BT firmware failures (BT_ON_OFF passed). WiFi failure is genuine and pre-existing. Verify PCIe link stability, check for PCIe AER correctable errors (RxErr, BadTLP, Timeout seen in logs), ensure WiFi firmware files are present in rootfs, and investigate MHI transport timeout root cause on this platform.
  4. Detail analysis attachment: failed_case_job223477_1_detailed.md
  Case 2: WiFi Driver Probe Failure — ath11k_pci
  1. Failed case: WiFi Driver Probe Failure — ath11k_pci
  2. Root cause: ath11k_pci driver probe failed with -ETIMEDOUT (-110) during MHI power-up sequence due to missing WiFi firmware file (ath11k/WCN6855/hw2.1/nfa765/amss.bin) combined with PCIe Physical Layer instability (correctable AER errors: RxErr, Timeout, Rollover) on Monaco EVK platform. The firmware load failure (-ENOENT, error -2) prevented MHI initialization, causing the driver to timeout waiting for the WiFi module to respond over the PCIe/MHI interface.
  3. Possible fix: Install the missing WiFi firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin in the rootfs under /lib/firmware/. Verify the firmware package (linux-firmware or qcom-firmware) includes Monaco/WCN6855 hw2.1 nfa765 variant firmware. If PCIe AER errors persist after firmware installation, investigate PCIe signal integrity on Monaco EVK hardware (check PCIe lane configuration, power supply stability, and board-level signal quality).
  4. Detail analysis attachment: failed_case_job223477_2_detailed.md
  Case 3: ** WiFi_OnOff — Driver Probe Failure (Firmware Dependency)
  1. Failed case: ** WiFi_OnOff — Driver Probe Failure (Firmware Dependency)
  2. Root cause: ** ath11k_pci driver probe failed with -ETIMEDOUT because the required MHI firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin is missing from the rootfs (-ENOENT). Without firmware, the MHI bus cannot power up the WCN6855 WiFi chip, causing the driver to time out during initialization and fail probe.
  3. Possible fix: Add the missing firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin to the rootfs under /lib/firmware/. Verify the firmware package for WCN6855 hw2.1 nfa765 variant is included in the Yocto build or manually install linux-firmware-ath11k package. Re-trigger the LAVA job after confirming firmware presence.
  4. Detail analysis attachment: failed_case_job223477_3_detailed.md
  Case 4: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: WiFi driver (ath11k_pci) probe failure with error -110 (ETIMEDOUT) during MHI power-up sequence. The ath11k_pci driver failed to initialize the WiFi hardware (device 0000:01:00.0, vendor 17cb:1103) due to MHI (Modem Host Interface) subsystem timeout when attempting to power up and start the MHI bus. This is a pre-existing hardware/firmware initialization issue on monaco-evk, not introduced by the PR patch which only modifies i2c-qcom-cci suspend/resume logic.
  3. Possible fix: This is a pre-existing platform issue unrelated to the PR changes (i2c-qcom-cci power management). The WiFi hardware initialization failure is specific to the monaco-evk board's PCIe WiFi module and MHI firmware loading. Recommend: (1) Re-trigger the CI job to rule out transient hardware/firmware state issues; (2) If persistent, investigate monaco-evk WiFi hardware/firmware/PCIe link stability separately from this PR; (3) The PR patch itself (i2c-qcom-cci PM changes) is not the root cause and should not block merge based on this failure.
  4. Detail analysis attachment: failed_case_job223477_4_detailed.md

@sgaud-quic
Salendarsingh Gaud (sgaud-quic) merged commit 57257b8 into qualcomm-linux:qcom-6.18.y Sep 16, 2026
7 of 9 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.

6 participants