Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH] Bluetooth: hci_qca: WCN3988: Drop baudrate change vendor event
@ 2026-11-04  9:50 Shuai Zhang
  2026-11-04 14:08 ` Bartosz Golaszewski
  2026-11-04 16:34 ` bluez.test.bot
  0 siblings, 2 replies; 3+ messages in thread
From: Shuai Zhang @ 2026-11-04  9:50 UTC (permalink / raw)
  To: Bartosz Golaszewski, Marcel Holtmann, Luiz Augusto von Dentz
  Cc: linux-arm-msm, linux-bluetooth, linux-kernel, cheng.jiang,
	xiuzhuo.shang, wei.deng, jinwang.li, Shuai Zhang

Firmware download on the WCN3988 sometimes fails and is retried:

  Bluetooth: hci0: QCA TLV response size mismatch
  Bluetooth: hci0: QCA Failed to request file: qca/apbtfw11.tlv (-84)

The vendor event answering the baudrate change command can arrive late
and is then taken as the response of the last firmware segment, which
waits for any vendor event. Its length is 2 instead of the expected 3:

  < HCI Command: Vendor (0x3f|0x0000) plen 220    (last segment)
  > HCI Event: Vendor (0xff) plen 2
          92 01

Drop and wait for this event on the WCN3988.

Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com>
---
 drivers/bluetooth/hci_qca.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
index 7089e9b63..4d502ee82 100644
--- a/drivers/bluetooth/hci_qca.c
+++ b/drivers/bluetooth/hci_qca.c
@@ -1521,6 +1521,7 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type)
 		}
 
 		switch (soc_type) {
+		case QCA_WCN3988:
 		case QCA_WCN3990:
 			reinit_completion(&qca->drop_ev_comp);
 			set_bit(QCA_DROP_VENDOR_EVENT, &qca->flags);
@@ -1556,6 +1557,7 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type)
 		}
 
 		switch (soc_type) {
+		case QCA_WCN3988:
 		case QCA_WCN3990:
 			/* Wait for the controller to send the vendor event
 			 * for the baudrate change command.
-- 
2.34.1


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

* Re: [PATCH] Bluetooth: hci_qca: WCN3988: Drop baudrate change vendor event
  2026-11-04  9:50 [PATCH] Bluetooth: hci_qca: WCN3988: Drop baudrate change vendor event Shuai Zhang
@ 2026-11-04 14:08 ` Bartosz Golaszewski
  2026-11-04 16:34 ` bluez.test.bot
  1 sibling, 0 replies; 3+ messages in thread
From: Bartosz Golaszewski @ 2026-11-04 14:08 UTC (permalink / raw)
  To: Shuai Zhang
  Cc: Marcel Holtmann, Luiz Augusto von Dentz, linux-arm-msm,
	linux-bluetooth, linux-kernel, cheng.jiang, xiuzhuo.shang,
	wei.deng, jinwang.li

On Wed, Nov 04, 2026 at 05:50:26PM +0800, Shuai Zhang wrote:
> Firmware download on the WCN3988 sometimes fails and is retried:
> 
>   Bluetooth: hci0: QCA TLV response size mismatch
>   Bluetooth: hci0: QCA Failed to request file: qca/apbtfw11.tlv (-84)
> 
> The vendor event answering the baudrate change command can arrive late
> and is then taken as the response of the last firmware segment, which
> waits for any vendor event. Its length is 2 instead of the expected 3:
> 
>   < HCI Command: Vendor (0x3f|0x0000) plen 220    (last segment)
>   > HCI Event: Vendor (0xff) plen 2
>           92 01
> 
> Drop and wait for this event on the WCN3988.
> 
> Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com>
> ---
 
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>

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

* RE: Bluetooth: hci_qca: WCN3988: Drop baudrate change vendor event
  2026-11-04  9:50 [PATCH] Bluetooth: hci_qca: WCN3988: Drop baudrate change vendor event Shuai Zhang
  2026-11-04 14:08 ` Bartosz Golaszewski
@ 2026-11-04 16:34 ` bluez.test.bot
  1 sibling, 0 replies; 3+ messages in thread
From: bluez.test.bot @ 2026-11-04 16:34 UTC (permalink / raw)
  To: linux-bluetooth, shuai.zhang

[-- Attachment #1: Type: text/plain, Size: 1020 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/1201567/

---Test result---

Test Summary:
CheckPatch                    PASS      0.63 seconds
VerifyFixes                   PASS      9.97 seconds
VerifySignedoff               PASS      0.89 seconds
GitLint                       PASS      0.24 seconds
SubjectPrefix                 PASS      0.08 seconds
BuildKernel                   PASS      20.82 seconds
CheckAllWarning               PASS      22.08 seconds
CheckSparse                   PASS      40.39 seconds
BuildKernel32                 PASS      27.41 seconds
CheckKernelLLVM               PASS      23.09 seconds
TestRunnerSetup               PASS      456.78 seconds
IncrementalBuild              PASS      20.88 seconds



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

---
Regards,
Linux Bluetooth


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

end of thread, other threads:[~2026-11-04 16:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-04  9:50 [PATCH] Bluetooth: hci_qca: WCN3988: Drop baudrate change vendor event Shuai Zhang
2026-11-04 14:08 ` Bartosz Golaszewski
2026-11-04 16:34 ` bluez.test.bot

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