2022-02-14 20:09:34

by Zijun Hu

[permalink] [raw]
Subject: [PATCH v3] Bluetooth: btusb: Improve stability for QCA devices

From: Zijun Hu <[email protected]>

Controller will reset after NVM is downloaded for QCA
device, so wait a moment for reset Done then go ahead
to improve stability.

Signed-off-by: Zijun Hu <[email protected]>
---
drivers/bluetooth/btusb.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index e03dfbd92fcc..4932c0bb6662 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -2994,6 +2994,7 @@ static int btusb_set_bdaddr_wcn6855(struct hci_dev *hdev,
#define QCA_PATCH_UPDATED 0x80
#define QCA_DFU_TIMEOUT 3000
#define QCA_FLAG_MULTI_NVM 0x80
+#define QCA_BT_RESET_WAIT_MS 100

#define WCN6855_2_0_RAM_VERSION_GF 0x400c1200
#define WCN6855_2_1_RAM_VERSION_GF 0x400c1211
@@ -3320,6 +3321,13 @@ static int btusb_setup_qca(struct hci_dev *hdev)
err = btusb_setup_qca_load_nvm(hdev, &ver, info);
if (err < 0)
return err;
+
+ /* WCN6855 2.1 will reset to apply firmware downloaded here, so
+ * wait ~100ms for reset Done then go ahead, otherwise, it maybe
+ * cause potential enable failure.
+ */
+ if (info->rom_version == 0x00130201)
+ msleep(QCA_BT_RESET_WAIT_MS);
}

return 0;
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project


2022-02-14 20:18:28

by bluez.test.bot

[permalink] [raw]
Subject: RE: [v3] Bluetooth: btusb: Improve stability for QCA devices

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/project/bluetooth/list/?series=614062

---Test result---

Test Summary:
CheckPatch PASS 1.59 seconds
GitLint PASS 0.95 seconds
SubjectPrefix PASS 0.88 seconds
BuildKernel PASS 29.75 seconds
BuildKernel32 PASS 26.48 seconds
Incremental Build with patchesPASS 35.93 seconds
TestRunner: Setup PASS 473.13 seconds
TestRunner: l2cap-tester PASS 13.72 seconds
TestRunner: bnep-tester PASS 6.25 seconds
TestRunner: mgmt-tester PASS 105.25 seconds
TestRunner: rfcomm-tester PASS 7.81 seconds
TestRunner: sco-tester PASS 7.84 seconds
TestRunner: smp-tester PASS 7.71 seconds
TestRunner: userchan-tester PASS 6.41 seconds



---
Regards,
Linux Bluetooth