[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20191017212955.6266-1-jeffrey.l.hugo@gmail.com>
Date: Thu, 17 Oct 2019 14:29:55 -0700
From: Jeffrey Hugo <jeffrey.l.hugo@...il.com>
To: marcel@...tmann.org, johan.hedberg@...il.com,
c-hbandi@...eaurora.org, bgodavar@...eaurora.org
Cc: linux-bluetooth@...r.kernel.org, linux-arm-msm@...r.kernel.org,
linux-kernel@...r.kernel.org,
Jeffrey Hugo <jeffrey.l.hugo@...il.com>
Subject: [PATCH] Bluetooth: hci_qca: Add delay for wcn3990 stability
On the msm8998 mtp, the response to the baudrate change command is never
received. On the Lenovo Miix 630, the response to the baudrate change
command is corrupted - "Frame reassembly failed (-84)".
Adding a 50ms delay before re-enabling flow to receive the baudrate change
command response from the wcn3990 addesses both issues, and allows
bluetooth to become functional.
Signed-off-by: Jeffrey Hugo <jeffrey.l.hugo@...il.com>
---
drivers/bluetooth/hci_qca.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
index e3164c200eac..265fc60c3850 100644
--- a/drivers/bluetooth/hci_qca.c
+++ b/drivers/bluetooth/hci_qca.c
@@ -1156,8 +1156,10 @@ static int qca_set_speed(struct hci_uart *hu, enum qca_speed_type speed_type)
host_set_baudrate(hu, speed);
error:
- if (qca_is_wcn399x(soc_type))
+ if (qca_is_wcn399x(soc_type)) {
+ msleep(50);
hci_uart_set_flow_control(hu, false);
+ }
if (soc_type == QCA_WCN3990) {
/* Wait for the controller to send the vendor event
--
2.17.1
Powered by blists - more mailing lists