Skip to content

Commit

Permalink
Bluetooth: hci_qca: Add delay for wcn3990 stability
Browse files Browse the repository at this point in the history
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@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
  • Loading branch information
Jeffrey Hugo authored and Marcel Holtmann committed Oct 17, 2019
1 parent b9a2562 commit cde9dde
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drivers/bluetooth/hci_qca.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit cde9dde

Please sign in to comment.