Bluetooth: hci_qca: Add delay after power-off pulse
During initialization the power-on pulse is currently sent inmediately after the prior power-off pulse. With this initialization often fails at boot time: [ 15.205224] Bluetooth: hci0: setting up wcn3990 [ 17.341062] Bluetooth: hci0: command 0xfc00 tx timeout [ 22.101453] ERROR: Bluetooth initialization failed [ 25.337740] Bluetooth: hci0: Reading QCA version information failed (-110) After a power-off pulse wait 10ms to give the controller time to power off. Remove the previous short settling delay, it isn't needed anymore. Signed-off-by: Matthias Kaehlcke <mka@chromium.org> Reviewed-by: Balakrishna Godavarthi <bgodavar@codeaurora.org> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
ad571d725c
commit
0ebcddd8e0
|
@ -1031,13 +1031,13 @@ static int qca_send_power_pulse(struct hci_uart *hu, bool on)
|
||||||
}
|
}
|
||||||
|
|
||||||
serdev_device_wait_until_sent(hu->serdev, timeout);
|
serdev_device_wait_until_sent(hu->serdev, timeout);
|
||||||
|
|
||||||
/* Wait for 100 uS for SoC to settle down */
|
|
||||||
usleep_range(100, 200);
|
|
||||||
hci_uart_set_flow_control(hu, false);
|
hci_uart_set_flow_control(hu, false);
|
||||||
|
|
||||||
|
/* Give to controller time to boot/shutdown */
|
||||||
if (on)
|
if (on)
|
||||||
msleep(100);
|
msleep(100);
|
||||||
|
else
|
||||||
|
msleep(10);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue