Skip to content

WORKAROUND: power: sequencing: qcom-wcn: skip BT devices without bt-enable GPIO#689

Draft
shuaz-shuai wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
shuaz-shuai:rb1_bug
Draft

WORKAROUND: power: sequencing: qcom-wcn: skip BT devices without bt-enable GPIO#689
shuaz-shuai wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
shuaz-shuai:rb1_bug

Conversation

@shuaz-shuai

@shuaz-shuai shuaz-shuai commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Add a bt_gpio_required flag to the per-platform data to indicate that a chip's BT enable path requires a dedicated GPIO. Only skip matching the "bluetooth" device node when this flag is set and bt_gpio is absent.

Previously the bt_gpio check was applied unconditionally, which caused chips like WCN3990 that have no separate BT/WLAN enable pins by design to fail matching even when bt-enable GPIO is legitimately absent from the DT. Set bt_gpio_required for WCN6855 and WCN7850 which do require a dedicated BT enable GPIO.

The qcom-6.18.y branch also needs to fix this issue.
Fix-issues: #625
depend on: #760
CRs-Fixed: 4602678

@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.

@qlijarvis

Copy link
Copy Markdown

PR #689 — validate-patch

PR: #689

Verdict Issues Detailed Report
⚠️ 3 Full report

Final Summary

  1. Lore link present: No — WORKAROUND: prefix indicates vendor-specific workaround; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: Not upstream — explicitly marked as WORKAROUND for vendor tree only
  4. PR present in qcom-next: Not checked — WORKAROUND: vendor-only commit not intended for upstream submission
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #689 - WORKAROUND: power: sequencing: qcom-wcn: skip BT devices without bt-enable GPIO
Upstream commit: N/A (vendor workaround)
Verdict: ⚠️ PARTIAL

Commit Message

Check Status Note
Subject matches upstream N/A WORKAROUND prefix indicates vendor-only change
Body preserves rationale Clear explanation of problem and solution
Fixes tag present/correct ⚠️ Uses Fix-issues (vendor tag) instead of standard Fixes: tag
Authorship preserved Original author Shuai Zhang
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
drivers/power/sequencing/pwrseq-qcom-wcn.c Focused change; adds bt_gpio_required flag and updates matching logic

Issues

  • Non-standard tag: Uses Fix-issues: qualcomm-linux/kernel#625 instead of standard kernel Fixes: tag format. For vendor trees this is acceptable but differs from upstream conventions.
  • No Link: tag: Missing lore.kernel.org reference, but expected for WORKAROUND patches that aren't intended for upstream submission.
  • WORKAROUND prefix: Indicates temporary/vendor-specific solution rather than proper upstream fix. Consider whether this should eventually be replaced with an upstream-acceptable solution.

Verdict

Acceptable as vendor workaround; commit message clearly explains the issue and solution, code changes are minimal and focused, but this is explicitly marked as a workaround rather than a proper fix.

Final Summary

  1. Lore link present: No — WORKAROUND: prefix indicates vendor-specific workaround; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: Not upstream — explicitly marked as WORKAROUND for vendor tree only
  4. PR present in qcom-next: Not checked — WORKAROUND: vendor-only commit not intended for upstream submission

@qlijarvis

Copy link
Copy Markdown

PR #689 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch No style issues detected
dt-binding-check ⏭️ Skipped - no DT binding changes
dtb-check ⏭️ Skipped - no devicetree changes
sparse-check Passed (unrelated sparse warnings in other drivers)
check-uapi-headers No UAPI header changes
check-patch-compliance Subject prefix violation
tag-check N/A Not applicable for qcom-6.18.y
qcom-next-check N/A Not applicable for qcom-6.18.y

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #689 - WORKAROUND: power: sequencing: qcom-wcn: skip BT devices without bt-enable GPIO
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/27275543233

Checker Result Summary
checkpatch No style issues detected
dt-binding-check ⏭️ Skipped - no DT binding changes
dtb-check ⏭️ Skipped - no devicetree changes
sparse-check Passed (unrelated sparse warnings in other drivers)
check-uapi-headers No UAPI header changes
check-patch-compliance Subject prefix violation
tag-check N/A Not applicable for qcom-6.18.y
qcom-next-check N/A Not applicable for qcom-6.18.y

❌ check-patch-compliance

Root cause: Commit subject starts with WORKAROUND: which is not a recognized prefix for the qualcomm-linux/kernel repository.

Failure details:

Checking commit: WORKAROUND: power: sequencing: qcom-wcn: skip BT devices without bt-enable GPIO
Commit summary does not start with a required prefix

Fix: Replace the WORKAROUND: prefix with one of the accepted prefixes. Based on the patch content and context:

  1. Recommended: Use FROMGIT: if this fix is already accepted upstream (check lore.kernel.org)
  2. Alternative: Use FROMLIST: if the fix is posted upstream but not yet merged
  3. If internal-only: Use ANDROID: or QCOM: depending on the subsystem ownership

The commit message should follow this format:

<PREFIX>: power: sequencing: qcom-wcn: skip BT devices without bt-enable GPIO

For example:

FROMLIST: power: sequencing: qcom-wcn: skip BT devices without bt-enable GPIO

Additional context: The patch adds a bt_gpio_required flag to handle chips like WCN3990 that have no separate BT/WLAN enable pins by design. This is a legitimate fix, not a workaround. Consider:

  • Checking if this fix exists upstream in the power sequencing subsystem
  • If upstream, use FROMGIT: or UPSTREAM: with the upstream commit reference
  • If not upstream, consider submitting it upstream first, then use FROMLIST:

Reproduce locally:

cd /path/to/kernel
git log -1 --format=%s cc1f9e565f6fac2b51a42f69d0cdbb940f4f7d7d | \
  grep -E '^(UPSTREAM|FROMGIT|FROMLIST|BACKPORT|ANDROID|QCOM|Revert):'

Verdict

1 blocker to fix: The commit subject prefix must be changed from WORKAROUND: to an accepted prefix (FROMLIST:, FROMGIT:, UPSTREAM:, ANDROID:, or QCOM:). All other checkers passed or were correctly skipped.

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

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

@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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why WORKAROUND is needed ? Need justification with approval.

@shuaz-shuai

Copy link
Copy Markdown
Contributor Author

Why WORKAROUND is needed ? Need justification with approval.

Hi Salendarsingh Gaud (@sgaud-quic)

This is the same issue observed in QLI 0.0. If no changes are made, it will affect RB1 and Apache.

Please refer to the QLI 0.0 issue link below.
#625

Therefore, the same workaround needs to be merged into QLI 2.0.

@sgaud-quic

Copy link
Copy Markdown
Contributor

Why WORKAROUND is needed ? Need justification with approval.

Hi Salendarsingh Gaud (@sgaud-quic)

This is the same issue observed in QLI 0.0. If no changes are made, it will affect RB1 and Apache.

Please refer to the QLI 0.0 issue link below. #625

Therefore, the same workaround needs to be merged into QLI 2.0.

Please share approved JIRA for exception

@shuaz-shuai

shuaz-shuai commented Jun 29, 2026

Copy link
Copy Markdown
Contributor Author

Why WORKAROUND is needed ? Need justification with approval.

Hi Salendarsingh Gaud (@sgaud-quic)
This is the same issue observed in QLI 0.0. If no changes are made, it will affect RB1 and Apache.
Please refer to the QLI 0.0 issue link below. #625
Therefore, the same workaround needs to be merged into QLI 2.0.

Please share approved JIRA for exception

Could you explain why a JIRA ticket is required? If possible, could you also share an example JIRA ticket for reference?
Whose approval is required for this JIRA?

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Fix-issues: #625

remove this line from commit log.

…nable GPIO

Add a bt_gpio_required flag to the per-platform data to indicate that
a chip's BT enable path requires a dedicated GPIO.  Only skip matching
the "bluetooth" device node when this flag is set and bt_gpio is absent.

Previously the bt_gpio check was applied unconditionally, which caused
chips like WCN3990 that have no separate BT/WLAN enable pins by design
to fail matching even when bt-enable GPIO is legitimately absent from
the DT.  Set bt_gpio_required for WCN6855 and WCN7850 which do require
a dedicated BT enable GPIO.

Signed-off-by: Shuai Zhang <shuai.zhang@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.

@shuaz-shuai

Copy link
Copy Markdown
Contributor Author

Fix-issues: #625

remove this line from commit log.

updated

@qlijarvis

Copy link
Copy Markdown

PR #689 — validate-patch

PR: #689

Verdict Issues Detailed Report
⚠️ 3 Full report

Final Summary

  1. Lore link present: No — WORKAROUND: prefix; no lore link expected or required for vendor workaround
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only workaround, not posted upstream
  4. PR present in qcom-next: Not checked — WORKAROUND: vendor-only commit

Additional Notes:

  • The patch adds a bt_gpio_required flag to distinguish chips that require a dedicated BT enable GPIO (WCN6855, WCN7850) from those that don't (WCN3990).
  • The logic change is sound: only skip matching bluetooth nodes when both bt_gpio_required is true AND bt_gpio is absent.
  • Code quality is good with clear inline comments explaining the design rationale.
  • Consider adding a Fixes tag to help track the regression this addresses.
  • If this fixes a real upstream issue, consider submitting a proper fix upstream rather than maintaining a vendor workaround.
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #689 - WORKAROUND: power: sequencing: qcom-wcn: skip BT devices without bt-enable GPIO
Upstream commit: N/A (vendor workaround)
Verdict: ⚠️ PARTIAL

Commit Message

Check Status Note
Subject matches upstream N/A WORKAROUND prefix indicates vendor-only patch
Body preserves rationale Clear explanation of problem and solution
Fixes tag present/correct ⚠️ Missing Fixes tag; should reference commit that introduced unconditional bt_gpio check
Authorship preserved Author: Shuai Zhang shuai.zhang@oss.qualcomm.com
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
drivers/power/sequencing/pwrseq-qcom-wcn.c Adds bt_gpio_required flag and conditional logic

Issues

  • Missing Fixes tag: The commit message describes fixing a regression ("Previously the bt_gpio check was applied unconditionally, which caused chips like WCN3990...to fail matching") but lacks a Fixes: tag pointing to the commit that introduced the unconditional check.
  • WORKAROUND prefix: The "WORKAROUND:" prefix suggests this is a temporary vendor solution rather than a proper upstream fix. Consider whether this should be submitted upstream or if a better long-term solution exists.
  • No upstream link: No Link: tag or lore.kernel.org reference present, confirming this is vendor-only.

Verdict

Acceptable as vendor workaround but should include Fixes tag; consider upstreaming proper solution.

Final Summary

  1. Lore link present: No — WORKAROUND: prefix; no lore link expected or required for vendor workaround
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only workaround, not posted upstream
  4. PR present in qcom-next: Not checked — WORKAROUND: vendor-only commit

Additional Notes:

  • The patch adds a bt_gpio_required flag to distinguish chips that require a dedicated BT enable GPIO (WCN6855, WCN7850) from those that don't (WCN3990).
  • The logic change is sound: only skip matching bluetooth nodes when both bt_gpio_required is true AND bt_gpio is absent.
  • Code quality is good with clear inline comments explaining the design rationale.
  • Consider adding a Fixes tag to help track the regression this addresses.
  • If this fixes a real upstream issue, consider submitting a proper fix upstream rather than maintaining a vendor workaround.

@qlijarvis

Copy link
Copy Markdown

PR #689 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch No style issues detected
dt-binding-check ⏭️ Skipped - no DT binding changes
dtb-check ⏭️ Skipped - no devicetree changes
sparse-check Build completed successfully
check-uapi-headers ⏭️ Skipped - no UAPI header changes
check-patch-compliance Subject prefix violation
tag-check N/A Not applicable for this branch
qcom-next-check N/A Not applicable for this branch

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #689 - WORKAROUND: power: sequencing: qcom-wcn: skip BT devices without bt-enable GPIO
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/28368686604

Checker Result Summary
checkpatch No style issues detected
dt-binding-check ⏭️ Skipped - no DT binding changes
dtb-check ⏭️ Skipped - no devicetree changes
sparse-check Build completed successfully
check-uapi-headers ⏭️ Skipped - no UAPI header changes
check-patch-compliance Subject prefix violation
tag-check N/A Not applicable for this branch
qcom-next-check N/A Not applicable for this branch

❌ check-patch-compliance

Root cause: Commit subject starts with WORKAROUND: which is not a recognized prefix for Qualcomm Linux kernel patches.

Failure details:

2026-06-29T11:44:50.1746373Z Checking commit: WORKAROUND: power: sequencing: qcom-wcn: skip BT devices without bt-enable GPIO
2026-06-29T11:44:50.1761167Z Commit summary does not start with a required prefix
2026-06-29T11:44:50.1777826Z ##[error]Process completed with exit code 1.

Fix: Replace the WORKAROUND: prefix with one of the accepted prefixes:

  • UPSTREAM: - if this patch is already merged upstream (mainline or subsystem tree)
  • FROMLIST: - if this patch is posted to a mailing list but not yet merged
  • BACKPORT: - if this is a backport of an upstream commit with modifications
  • Remove the prefix entirely if this is a Qualcomm-specific patch (though the commit message suggests it's addressing a driver issue that may need upstream discussion)

Given the nature of the change (fixing a matching logic issue in the power sequencing driver), the most appropriate action would be:

  1. If this fix is intended for upstream submission, use FROMLIST: and include a Link: tag to the lore.kernel.org posting
  2. If this is a temporary workaround specific to Qualcomm's tree, remove the WORKAROUND: prefix and add context in the commit message body explaining why this is Qualcomm-specific

Reproduce locally:

cd /path/to/kernel
git log --oneline -1 6088f5839005be2a9ae3efb28281f463196b3f5d
# Check if subject starts with UPSTREAM:/FROMLIST:/BACKPORT:

Verdict

1 blocker to fix: The commit subject must use an accepted prefix (UPSTREAM:/FROMLIST:/BACKPORT:) or remove the WORKAROUND: prefix entirely. All other checkers passed successfully.

@sgaud-quic

Copy link
Copy Markdown
Contributor

Do we have a approved exception JIRA for this ?

@shuaz-shuai shuaz-shuai closed this Jul 9, 2026
@shuaz-shuai shuaz-shuai reopened this Jul 9, 2026
@shuaz-shuai

Copy link
Copy Markdown
Contributor Author

Do we have a approved exception JIRA for this ?

Added the Jira link.
https://jira-dc.qualcomm.com/jira/browse/QLIJIRA-146

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

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

shuaz-shuai added a commit to shuaz-shuai/kernel that referenced this pull request Jul 10, 2026
…nable GPIO

Add a bt_gpio_required flag to the per-platform data to indicate that a
chip's BT enable path requires a dedicated GPIO. Only skip matching the
"bluetooth" device node when this flag is set and bt_gpio is absent.

Previously the bt_gpio check was applied unconditionally, which caused
chips like WCN3990 that have no separate BT/WLAN enable pins by design
to fail matching even when bt-enable GPIO is legitimately absent from
the DT. Set bt_gpio_required for WCN6855 and WCN7850 which do require
a dedicated BT enable GPIO.

Fix-issues: qualcomm-linux#625
CRs-Fixed: 4602678
Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com>

(cherry picked from qualcomm-linux#689,
manually re-applied due to context offset from earlier PR qualcomm-linux#614)
@qcomlnxci
qcomlnxci requested a review from a team July 10, 2026 10:30
@shuaz-shuai

Copy link
Copy Markdown
Contributor Author

This PR has a merge conflict with #760. Wait for #760 to be merged first, and then I'll rebase this PR before merging.

@shuaz-shuai
shuaz-shuai marked this pull request as draft July 10, 2026 10:53
@qlijarvis

Copy link
Copy Markdown

PR #689 — validate-patch

PR: #689

Verdict Issues Detailed Report
N/A 0 Full report

Final Summary

  1. Lore link present: No — WORKAROUND: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only workaround, not posted upstream
  4. PR present in qcom-next: Not checked — WORKAROUND: vendor-only commit
Verdict: N/A — click to expand

🔍 Patch Validation

PR: #689 - WORKAROUND: power: sequencing: qcom-wcn: skip BT devices without bt-enable GPIO
Upstream commit: N/A (vendor-only workaround)
Verdict: ⏭️ SKIPPED

Commit Message

Check Status Note
Subject matches upstream N/A Vendor-only workaround; no upstream source
Body preserves rationale Clear explanation of the workaround logic
Fixes tag present/correct N/A Not a backport or upstream fix
Authorship preserved Authored by Shuai Zhang
Backport note (if applicable) N/A Not a backport

Diff

File Status Notes
drivers/power/sequencing/pwrseq-qcom-wcn.c ⏭️ Vendor-only workaround; no upstream comparison applicable

Verdict

This is a vendor-only workaround commit (WORKAROUND: prefix). Validation against lore.kernel.org is not applicable. The commit message clearly explains the technical rationale: adds a bt_gpio_required flag to handle chips like WCN3990 that have no separate BT/WLAN enable pins by design, while preserving the existing behavior for WCN6855 and WCN7850 which do require a dedicated BT enable GPIO.

Final Summary

  1. Lore link present: No — WORKAROUND: prefix; no lore link expected or required
  2. Lore link matches PR commits: N/A — no lore link to compare against
  3. Upstream patch status: N/A — vendor-only workaround, not posted upstream
  4. PR present in qcom-next: Not checked — WORKAROUND: vendor-only commit

@qlijarvis

Copy link
Copy Markdown

PR #689 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch No style issues
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check ⏭️ Skipped (no DTS changes)
sparse-check No static analysis warnings
check-uapi-headers No UAPI/ABI issues
check-patch-compliance WORKAROUND: prefix not in allowed list
tag-check WORKAROUND: prefix not accepted by compliance checker

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #689 - WORKAROUND: power: sequencing: qcom-wcn: skip BT devices without bt-enable GPIO
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/29086509048
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch No style issues
dt-binding-check ⏭️ Skipped (no binding changes)
dtb-check ⏭️ Skipped (no DTS changes)
sparse-check No static analysis warnings
check-uapi-headers No UAPI/ABI issues
check-patch-compliance WORKAROUND: prefix not in allowed list
tag-check WORKAROUND: prefix not accepted by compliance checker

❌ check-patch-compliance

Root cause: The commit subject uses the WORKAROUND: prefix, which is not in the checker's allowed prefix list (FROMLIST:, FROMGIT:, UPSTREAM:, BACKPORT:).

Failure details:

Checking commit: WORKAROUND: power: sequencing: qcom-wcn: skip BT devices without bt-enable GPIO
Commit summary does not start with a required prefix

Analysis:

The check-patch-compliance checker enforces a strict set of upstream-linkable prefixes:

  • FROMLIST: — patch posted to mailing list
  • FROMGIT: — patch from a maintainer tree
  • UPSTREAM: — patch merged into mainline
  • BACKPORT: — upstream patch with modifications

The WORKAROUND: prefix is a vendor-internal tag used in the Qualcomm Linux tree to mark temporary fixes that are not suitable for upstream submission. This is a known limitation of the checker — it does not accept vendor-only prefixes like WORKAROUND:, QCLINUX:, or PENDING:.

Context:

According to the skill's reference documentation (log-patterns.md Section 7):

Note on QCLINUX: and PENDING:: These are vendor-internal prefixes used in the tree but not accepted by check-patch-compliance. If a commit is vendor-only with no upstream equivalent, the checker will always fail for it. This is a known limitation — the checker enforces upstream-linkable prefixes only.

The same applies to WORKAROUND:.

Options:

  1. If this is genuinely a temporary workaround with no upstream equivalent:

    • The checker failure is expected and can be acknowledged as a known limitation
    • The commit can be merged with maintainer approval despite the checker failure
    • Document the workaround nature in the commit message body
  2. If this fix could be upstreamed (even if not yet posted):

    • Change prefix to PENDING: (but note: PENDING: also fails the checker)
    • Or change to QCLINUX: (but note: QCLINUX: also fails the checker)
    • Or post to upstream and use FROMLIST: + add Link: tag
  3. If this is based on an upstream discussion or patch:

    • Use FROMLIST: and add Link: <lore-url> to the commit body
    • Or use FROMGIT: if it's in a maintainer tree

Fix (if changing prefix):

git rebase -i cf2725e2d166   # mark commit as 'edit'
git commit --amend -m "FROMLIST: power: sequencing: qcom-wcn: skip BT devices without bt-enable GPIO

[original commit body]

Link: <lore-url-if-posted>
Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com>"
git rebase --continue

Reproduce locally:

cd kernel
git log cf2725e2d166..HEAD --format="%H %s" | while read sha subject; do
  if ! echo "$subject" | grep -qE '^(FROMLIST|FROMGIT|UPSTREAM|BACKPORT):'; then
    echo "FAIL: $sha $subject"
  fi
done

❌ tag-check (manual check)

Root cause: The target branch is qcom-6.18.y (not qcom-next or qcom-next-staging), which requires every commit to start with a valid prefix. The WORKAROUND: prefix is valid for the tree but not accepted by the check-patch-compliance checker.

Analysis:

Per the skill workflow (Step 2.7), all branches except qcom-next and qcom-next-staging require subject-line prefix tags. The valid prefixes are:

  • FROMLIST: / FROMGIT: / UPSTREAM: / BACKPORT: — upstream-linkable (accepted by checker)
  • QCLINUX: / PENDING: / WORKAROUND: — vendor-internal (rejected by checker)

The commit does have a prefix (WORKAROUND:), so it satisfies the tree's tagging requirement. However, the check-patch-compliance checker only accepts the upstream-linkable subset, causing the CI failure.

Verdict:

  • Tree requirement: ✅ PASS — commit has a valid prefix tag
  • CI checker requirement: ❌ FAIL — WORKAROUND: not in checker's allowed list

This is a policy mismatch between the tree's tagging conventions and the CI checker's enforcement rules.


Verdict

1 blocker: The check-patch-compliance checker rejects the WORKAROUND: prefix.

Recommendation:

  • If this is a genuine temporary workaround: Merge with maintainer approval and acknowledge the known checker limitation. The commit is correctly tagged per tree conventions.

  • If this can be upstreamed: Change the prefix to FROMLIST: (if posted) or UPSTREAM: (if merged), and add a Link: tag pointing to the upstream discussion or commit.

  • If unsure: Consult with the maintainer on whether this fix should be upstreamed or kept as a vendor-only workaround.

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