diff options
author | Jeffrey Hugo <jeffrey.l.hugo@gmail.com> | 2019-10-17 23:29:55 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2019-10-17 11:10:06 +0200 |
commit | cde9dde6e11a5ab54b6462cd46d82878926783bc (patch) | |
tree | 0e8f082fa69c1b2825b0cd60e49f6a42e6ca0e3a /drivers/bluetooth | |
parent | Bluetooth: btusb: Trigger Intel FW download error recovery (diff) | |
download | linux-cde9dde6e11a5ab54b6462cd46d82878926783bc.tar.xz linux-cde9dde6e11a5ab54b6462cd46d82878926783bc.zip |
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@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'drivers/bluetooth')
-rw-r--r-- | drivers/bluetooth/hci_qca.c | 4 |
1 files changed, 3 insertions, 1 deletions
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 |