Harden Bluetooth tests against transient QCA controller initialization failures seen on the first CI attempt. - #553
Merged
Bhargav-qcom (bhargav0610) merged 3 commits intoAug 27, 2026
Conversation
Bluetooth controllers can appear before QCA firmware initialization has completed, leaving an all-zero BD address and causing the first CI run to fail while a rerun passes. Existing readiness checks accepted service and HCI presence alone, and nested bluetoothctl polling could consume most of the LAVA timeout. Require an active service and a valid non-zero controller address, add bounded rfkill and service recovery attempts, and prevent public-addr setup for invalid addresses. Route controller, scan, and power queries through bounded helpers so a stalled BlueZ command cannot exhaust the job timeout. Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
QCA firmware initialization can leave an HCI device present with an all-zero address during the first boot. BT_FW_KMD_Service and BT_ON_OFF previously continued from that incomplete state or skipped missing BlueZ controller visibility, producing failures that disappeared on rerun. Gate both suites on the shared bounded runtime recovery, retain the recovered adapter, and fail only after recovery is exhausted. Use the shared result API and expose recovery timing through the LAVA parameters for deterministic CI behavior. Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
The scan and pairing suites could start while the Bluetooth service and QCA controller were only partially initialized. A missing controller was treated as a skip in some paths, while repeated unbounded setup calls made first-attempt failures expensive. Require bounded runtime recovery before scanning or pairing, reuse the validated adapter, and keep result files machine-readable through the shared result API. Normalize argument handling and LAVA parameters so recovery and scan timing can be tuned consistently. Signed-off-by: Srikanth Muppandam <smuppand@qti.qualcomm.com>
Srikanth Muppandam (smuppand)
force-pushed
the
fix/bluetooth-first-boot-recovery
branch
from
August 26, 2026 16:29
5577692 to
696c8c8
Compare
Srikanth Muppandam (smuppand)
marked this pull request as ready for review
August 26, 2026 16:36
Srikanth Muppandam (smuppand)
requested review from
Bhargav-qcom (bhargav0610) and
Anil (qcom-anilyada)
August 26, 2026 16:36
Bhargav-qcom (bhargav0610)
approved these changes
Aug 27, 2026
Bhargav-qcom (bhargav0610)
merged commit Aug 27, 2026
6122d03
into
qualcomm-linux:main
14 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Harden Bluetooth tests against transient QCA controller initialization failures seen on the first CI attempt.
Changes
public-addrconfiguration with invalid addresses.bluetoothctloperations.