Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH v1] power: sequencing: qcom-wcn: increase WCN7850 power-up delay
@ 2026-11-02  9:48 Shuai Zhang
  2026-11-02  9:59 ` Dmitry Baryshkov
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Shuai Zhang @ 2026-11-02  9:48 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: linux-pm, linux-kernel, linux-bluetooth, linux-arm-msm, chejiang,
	quic_chezhou, wei.deng, jinwang.li, mengshi.wu, stable,
	Shuai Zhang, Cheng Jiang

When the WCN7850 is powered up from the Bluetooth side first, i.e.
BT_EN is asserted while WLAN_EN is still low, the chip starts from a
cold state and is not ready to accept the first HCI command 50 ms after
BT_EN goes high. The first command (0xfc00, read QCA version) is lost,
hci_qca does not resend it and fails after the 2 s command timeout:

  Bluetooth: hci0: Reading QCA version information failed (-110)

When WLAN is powered first, 50 ms is sufficient, so the failure only
shows up in the BT-first ordering. Measured on the affected board by
which enable pin rose first:

  pwup_delay_ms   BT-first boots   with -110
  50              9                9
  75              23               0
  100             21               0
  300             20               0

Raise the power-up delay of WCN7850 to 100 ms. The delay is shared by
the Bluetooth and WLAN targets, so WLAN power-up also waits 50 ms
longer.

Fixes: 2f1630f437df ("power: pwrseq: add a driver for the PMU module on the QCom WCN chipsets")
Signed-off-by: Cheng Jiang <cheng.jiang@oss.qualcomm.com>
Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com>
---
 drivers/power/sequencing/pwrseq-qcom-wcn.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/power/sequencing/pwrseq-qcom-wcn.c b/drivers/power/sequencing/pwrseq-qcom-wcn.c
index 636dd7e63..05ee1785e 100644
--- a/drivers/power/sequencing/pwrseq-qcom-wcn.c
+++ b/drivers/power/sequencing/pwrseq-qcom-wcn.c
@@ -427,7 +427,7 @@ static const char *const pwrseq_wcn7850_vregs[] = {
 static const struct pwrseq_qcom_wcn_pdata pwrseq_wcn7850_of_data = {
 	.vregs = pwrseq_wcn7850_vregs,
 	.num_vregs = ARRAY_SIZE(pwrseq_wcn7850_vregs),
-	.pwup_delay_ms = 50,
+	.pwup_delay_ms = 100,
 	.targets = pwrseq_qcom_wcn_targets,
 };
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v1] power: sequencing: qcom-wcn: increase WCN7850 power-up delay
  2026-11-02  9:48 [PATCH v1] power: sequencing: qcom-wcn: increase WCN7850 power-up delay Shuai Zhang
@ 2026-11-02  9:59 ` Dmitry Baryshkov
  2026-11-02 19:31 ` [v1] " bluez.test.bot
  2026-11-03 12:29 ` [PATCH v1] " Bartosz Golaszewski
  2 siblings, 0 replies; 4+ messages in thread
From: Dmitry Baryshkov @ 2026-11-02  9:59 UTC (permalink / raw)
  To: Shuai Zhang
  Cc: Bartosz Golaszewski, linux-pm, linux-kernel, linux-bluetooth,
	linux-arm-msm, chejiang, quic_chezhou, wei.deng, jinwang.li,
	mengshi.wu, stable, Cheng Jiang

On Mon, Nov 02, 2026 at 05:48:00PM +0800, Shuai Zhang wrote:
> When the WCN7850 is powered up from the Bluetooth side first, i.e.
> BT_EN is asserted while WLAN_EN is still low, the chip starts from a
> cold state and is not ready to accept the first HCI command 50 ms after
> BT_EN goes high. The first command (0xfc00, read QCA version) is lost,
> hci_qca does not resend it and fails after the 2 s command timeout:
> 
>   Bluetooth: hci0: Reading QCA version information failed (-110)
> 
> When WLAN is powered first, 50 ms is sufficient, so the failure only
> shows up in the BT-first ordering. Measured on the affected board by
> which enable pin rose first:
> 
>   pwup_delay_ms   BT-first boots   with -110
>   50              9                9
>   75              23               0
>   100             21               0
>   300             20               0
> 
> Raise the power-up delay of WCN7850 to 100 ms. The delay is shared by
> the Bluetooth and WLAN targets, so WLAN power-up also waits 50 ms
> longer.
> 
> Fixes: 2f1630f437df ("power: pwrseq: add a driver for the PMU module on the QCom WCN chipsets")
> Signed-off-by: Cheng Jiang <cheng.jiang@oss.qualcomm.com>
> Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com>
> ---
>  drivers/power/sequencing/pwrseq-qcom-wcn.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>

> 

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: [v1] power: sequencing: qcom-wcn: increase WCN7850 power-up delay
  2026-11-02  9:48 [PATCH v1] power: sequencing: qcom-wcn: increase WCN7850 power-up delay Shuai Zhang
  2026-11-02  9:59 ` Dmitry Baryshkov
@ 2026-11-02 19:31 ` bluez.test.bot
  2026-11-03 12:29 ` [PATCH v1] " Bartosz Golaszewski
  2 siblings, 0 replies; 4+ messages in thread
From: bluez.test.bot @ 2026-11-02 19:31 UTC (permalink / raw)
  To: linux-bluetooth, shuai.zhang

[-- Attachment #1: Type: text/plain, Size: 3418 bytes --]

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/series/1198647/

---Test result---

Test Summary:
CheckPatch                    PASS      0.50 seconds
VerifyFixes                   PASS      7.51 seconds
VerifySignedoff               PASS      1.27 seconds
GitLint                       PASS      0.30 seconds
SubjectPrefix                 FAIL      0.07 seconds
BuildKernel                   PASS      25.63 seconds
CheckAllWarning               PASS      29.05 seconds
CheckSparse                   PASS      30.66 seconds
BuildKernel32                 PASS      25.01 seconds
CheckKernelLLVM               PASS      25.07 seconds
TestRunnerSetup               PASS      559.75 seconds
TestRunner_l2cap-tester       FAIL      12.10 seconds
TestRunner_iso-tester         PASS      11.62 seconds
TestRunner_bnep-tester        PASS      2.92 seconds
TestRunner_mgmt-tester        PASS      83.96 seconds
TestRunner_rfcomm-tester      PASS      4.30 seconds
TestRunner_sco-tester         PASS      5.10 seconds
TestRunner_ioctl-tester       PASS      4.27 seconds
TestRunner_mesh-tester        PASS      5.15 seconds
TestRunner_smp-tester         PASS      4.23 seconds
TestRunner_userchan-tester    PASS      2.88 seconds
TestRunner_6lowpan-tester     PASS      4.02 seconds
IncrementalBuild              PASS      23.89 seconds

Details
##############################
Test: SubjectPrefix - FAIL
Desc: Check subject contains "Bluetooth" prefix
Output:
"Bluetooth: " prefix is not specified in the subject
##############################
Test: TestRunner_l2cap-tester - FAIL
Desc: Run l2cap-tester with test-runner
Output:
Sanitizer errors:
==35==ERROR: AddressSanitizer: heap-use-after-free on address 0x7b6f351e33d0 at pc 0x561bb9d85e8e bp 0x7ffe98f52c10 sp 0x7ffe98f52c00
READ of size 4 at 0x7b6f351e33d0 thread T0
    #0 0x561bb9d85e8d in timeout_callback src/shared/timeout-mainloop.c:33
    #1 0x561bb9d86b75 in timeout_callback src/shared/mainloop.c:270
    #2 0x561bb9d87aa6 in mainloop_run src/shared/mainloop.c:124
    #3 0x561bb9d8a3fa in mainloop_run_with_signal src/shared/mainloop-notify.c:196
    #4 0x561bb9d8f64b in tester_run src/shared/tester.c:1223
    #5 0x561bb9cb917d in main tools/l2cap-tester.c:3918
    #6 0x7f2f361a5600 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:59
    #7 0x7f2f361a5717 in __libc_start_main_impl ../csu/libc-start.c:360
    #8 0x561bb9cbfc84 in _start (/home/runner/work/bluetooth-next/bluetooth-next/src/bluez/tools/l2cap-tester+0x16cc84) (BuildId: 91c9d49e9766c394468e27ffa29b05e7d348169f)

0x7b6f351e33d0 is located 0 bytes inside of 40-byte region [0x7b6f351e33d0,0x7b6f351e33f8)
freed by thread T0 here:
    #0 0x7f2f36ae33ff in free ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:51
    #1 0x561bb9d8636a in timeout_destroy src/shared/mainloop.c:251

previously allocated by thread T0 here:
    #0 0x7f2f36ae460f in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:67
    #1 0x561bb9d702d5 in util_malloc src/shared/util.c:46

SUMMARY: AddressSanitizer: heap-use-after-free src/shared/timeout-mainloop.c:33 in timeout_callback
No test result found


https://github.com/bluez/bluetooth-next/pull/1039

---
Regards,
Linux Bluetooth


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v1] power: sequencing: qcom-wcn: increase WCN7850 power-up delay
  2026-11-02  9:48 [PATCH v1] power: sequencing: qcom-wcn: increase WCN7850 power-up delay Shuai Zhang
  2026-11-02  9:59 ` Dmitry Baryshkov
  2026-11-02 19:31 ` [v1] " bluez.test.bot
@ 2026-11-03 12:29 ` Bartosz Golaszewski
  2 siblings, 0 replies; 4+ messages in thread
From: Bartosz Golaszewski @ 2026-11-03 12:29 UTC (permalink / raw)
  To: Bartosz Golaszewski, Shuai Zhang
  Cc: Bartosz Golaszewski, linux-pm, linux-kernel, linux-bluetooth,
	linux-arm-msm, chejiang, quic_chezhou, wei.deng, jinwang.li,
	mengshi.wu, stable, Cheng Jiang


On Mon, 02 Nov 2026 17:48:00 +0800, Shuai Zhang wrote:
> When the WCN7850 is powered up from the Bluetooth side first, i.e.
> BT_EN is asserted while WLAN_EN is still low, the chip starts from a
> cold state and is not ready to accept the first HCI command 50 ms after
> BT_EN goes high. The first command (0xfc00, read QCA version) is lost,
> hci_qca does not resend it and fails after the 2 s command timeout:
> 
>   Bluetooth: hci0: Reading QCA version information failed (-110)
> 
> [...]

Applied, thanks!

[1/1] power: sequencing: qcom-wcn: increase WCN7850 power-up delay
      https://git.kernel.org/brgl/c/bd60a639b621453fe37b780df4b6d3a13f981f13

Best regards,
-- 
Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-11-03 12:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-02  9:48 [PATCH v1] power: sequencing: qcom-wcn: increase WCN7850 power-up delay Shuai Zhang
2026-11-02  9:59 ` Dmitry Baryshkov
2026-11-02 19:31 ` [v1] " bluez.test.bot
2026-11-03 12:29 ` [PATCH v1] " Bartosz Golaszewski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox