Skip to content

[PW_SID:1151352] Bluetooth: btmtksdio: Do not fail probe on wakeup init failure - #651

Open
BluezTestBot wants to merge 6 commits into
workflowfrom
1151352
Open

[PW_SID:1151352] Bluetooth: btmtksdio: Do not fail probe on wakeup init failure#651
BluezTestBot wants to merge 6 commits into
workflowfrom
1151352

Conversation

@BluezTestBot

Copy link
Copy Markdown

From: Gongwei Li ligongwei@kylinos.cn

devm_device_init_wakeup() merely marks the device as wakeup-capable;
it is only consulted later through device_may_wakeup() in the ->wakeup
callback to decide whether wake-on-bluetooth can be used. When it
fails, the controller itself still works normally and only the ability
to wake up the system is lost. Therefore the failure is not fatal for
probe(), which is why the existing code only logs the error instead of
bailing out.

However, the negative error code returned by devm_device_init_wakeup()
is never cleared, so if the subsequent devm_gpiod_get_optional()
succeeds, probe() ends up returning the stale error even though
probing actually succeeded and the HCI device has already been
registered. The SDIO core then wrongly treats the function as broken
and unbinds the driver.

Make the non-fatal semantics explicit: clear the error after logging
it and keep probing.

Fixes: ce64b3e ("Bluetooth: mt7921s: Support wake on bluetooth")
Signed-off-by: Gongwei Li ligongwei@kylinos.cn

drivers/bluetooth/btmtksdio.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

tedd-an and others added 6 commits August 24, 2026 17:17
This patch adds workflow files for ci:

[sync.yml]
 - The workflow file for scheduled work
 - Sync the repo with upstream repo and rebase the workflow branch
 - Review the patches in the patchwork and creates the PR if needed

[ci.yml]
 - The workflow file for CI tasks
 - Run CI tests when PR is created

Signed-off-by: Tedd Ho-Jeong An <tedd.an@intel.com>
This replaces the bzcafe action with bluez/action-ci so we can maintain
everything in the github bluez organization

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This attempts to sync every 5 minutes instead of 30.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
bluez/action-ci uses master as default branch for workflow which is
incorrect for kernel

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
The CI action now creates individual GitHub Check Runs per test, which
requires 'checks: write' permission on the GITHUB_TOKEN. Also make the
pull_request trigger types explicit to include 'reopened', allowing CI
to be retriggered by closing and reopening a PR.
devm_device_init_wakeup() merely marks the device as wakeup-capable;
it is only consulted later through device_may_wakeup() in the ->wakeup
callback to decide whether wake-on-bluetooth can be used.  When it
fails, the controller itself still works normally and only the ability
to wake up the system is lost.  Therefore the failure is not fatal for
probe(), which is why the existing code only logs the error instead of
bailing out.

However, the negative error code returned by devm_device_init_wakeup()
is never cleared, so if the subsequent devm_gpiod_get_optional()
succeeds, probe() ends up returning the stale error even though
probing actually succeeded and the HCI device has already been
registered.  The SDIO core then wrongly treats the function as broken
and unbinds the driver.

Make the non-fatal semantics explicit: clear the error after logging
it and keep probing.

Fixes: ce64b3e ("Bluetooth: mt7921s: Support wake on bluetooth")
Signed-off-by: Gongwei Li <ligongwei@kylinos.cn>
@github-actions

Copy link
Copy Markdown

CheckPatch
Desc: Run checkpatch.pl script
Duration: 0.61 seconds
Result: PASS

@github-actions

Copy link
Copy Markdown

VerifyFixes
Desc: Verify Fixes tag format and validity
Duration: 0.09 seconds
Result: PASS

@github-actions

Copy link
Copy Markdown

VerifySignedoff
Desc: Verify Signed-off-by chain
Duration: 0.09 seconds
Result: PASS

@github-actions

Copy link
Copy Markdown

GitLint
Desc: Run gitlint
Duration: 0.24 seconds
Result: PASS

@github-actions

Copy link
Copy Markdown

SubjectPrefix
Desc: Check subject contains "Bluetooth" prefix
Duration: 0.08 seconds
Result: PASS

@github-actions

Copy link
Copy Markdown

BuildKernel
Desc: Build Kernel for Bluetooth
Duration: 28.84 seconds
Result: PASS

@github-actions

Copy link
Copy Markdown

CheckAllWarning
Desc: Run linux kernel with all warning enabled
Duration: 31.20 seconds
Result: PASS

@github-actions

Copy link
Copy Markdown

CheckSparse
Desc: Run sparse tool with linux kernel
Duration: 29.27 seconds
Result: PASS

@github-actions

Copy link
Copy Markdown

BuildKernel32
Desc: Build 32bit Kernel for Bluetooth
Duration: 26.97 seconds
Result: PASS

@github-actions

Copy link
Copy Markdown

CheckKernelLLVM
Desc: Build kernel with LLVM + context analysis
Duration: 0.00 seconds
Result: SKIP
Output:

Clang not found

@github-actions

Copy link
Copy Markdown

TestRunnerSetup
Desc: Setup kernel and bluez for test-runner
Duration: 518.92 seconds
Result: PASS

@github-actions

Copy link
Copy Markdown

IncrementalBuild
Desc: Incremental build with the patches in the series
Duration: 26.89 seconds
Result: PASS

@github-actions
github-actions Bot force-pushed the workflow branch 2 times, most recently from 616126a to d3899e4 Compare August 31, 2026 18:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants