Bluetooth: btusb: fix bt fiwmare downloading failure issue for qca btsoc.

Started by Zijun Hu on May 26, 2021 · 3 messages from 3 authors · Last reply May 26, 2021

Subsystems (2)

Maintainers (3)

STALE1999d

open the first message on its own page

Message details and related content
From: Tim Jiang <redacted>

This is btsoc timing issue, after host start to downloading bt firmware,
ep2 need time to switch from function acl to function dfu, so host add
20ms delay as workaround.

Signed-off-by: Tim Jiang <redacted>
---
 drivers/bluetooth/btusb.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 5245714..b0743db 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -4064,6 +4064,7 @@ static int btusb_setup_qca_download_fw(struct hci_dev *hdev,
 
 	sent += size;
 	count -= size;
+	msleep(20);
 
 	while (count) {
 		size = min_t(size_t, count, QCA_DFU_PACKET_LEN);
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project

RE: [v2] Bluetooth: btusb: fix bt fiwmare downloading failure issue for qca btsoc.

Message details and related content
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=488581

---Test result---

Test Summary:
CheckPatch                    PASS      0.81 seconds
GitLint                       FAIL      0.13 seconds
BuildKernel                   PASS      582.56 seconds
TestRunner: Setup             PASS      389.93 seconds
TestRunner: l2cap-tester      PASS      3.02 seconds
TestRunner: bnep-tester       PASS      2.03 seconds
TestRunner: mgmt-tester       PASS      29.93 seconds
TestRunner: rfcomm-tester     PASS      2.20 seconds
TestRunner: sco-tester        PASS      2.22 seconds
TestRunner: smp-tester        PASS      2.30 seconds
TestRunner: userchan-tester   PASS      2.04 seconds

Details
##############################
Test: CheckPatch - PASS - 0.81 seconds
Run checkpatch.pl script with rule in .checkpatch.conf


##############################
Test: GitLint - FAIL - 0.13 seconds
Run gitlint with rule in .gitlint
Bluetooth: btusb: fix bt fiwmare downloading failure issue for qca btsoc.
1: T1 Title exceeds max length (73>72): "Bluetooth: btusb: fix bt fiwmare downloading failure issue for qca btsoc."
1: T3 Title has trailing punctuation (.): "Bluetooth: btusb: fix bt fiwmare downloading failure issue for qca btsoc."


##############################
Test: BuildKernel - PASS - 582.56 seconds
Build Kernel with minimal configuration supports Bluetooth

48 more lines

Message details and related content
Hi Zijun,
quoted hunk
This is btsoc timing issue, after host start to downloading bt firmware,
ep2 need time to switch from function acl to function dfu, so host add
20ms delay as workaround.

Signed-off-by: Tim Jiang <redacted>
---
drivers/bluetooth/btusb.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 5245714..b0743db 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -4064,6 +4064,7 @@ static int btusb_setup_qca_download_fw(struct hci_dev *hdev,
	sent += size;
	count -= size;
you need a comment here explain why this is needed.
+	msleep(20);

	while (count) {
		size = min_t(size_t, count, QCA_DFU_PACKET_LEN);
Regards

Marcel
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help