[PATCH v3 0/2] Bluetooth: hci_qca: Reopen port after power on for QCA2066
From: Shuai Zhang
Date: Wed Oct 28 2026 - 07:19:29 EST
QCA2066 needs the serial port reopened after the controller is powered
on, otherwise the host and the controller run into RTS/CTS
synchronization issues.
Patch 1 reopens the port in qca_power_on() for QCA2066, as in v2.
Patch 2 keeps HCI_UART_PROTO_READY in sync with the port state, so that a
port which failed to reopen is not closed or flushed again.
Changes in v3:
- Patch 1 is unchanged from v2.
- Add patch 2. If serdev_device_open() fails during the reopen, the
port stays closed but HCI_UART_PROTO_READY stays set, so the later
serdev_device_close() and hci_uart_flush() use a closed port. Keep
the flag in sync with the port state and skip the port flush when
the port is not open.
- Link to v2:
https://lore.kernel.org/all/20261016022302.4003647-1-shuai.zhang@xxxxxxxxxxxxxxxx/
Changes in v2:
- Use a separate case for clearer logic.
- Link to v1:
https://lore.kernel.org/all/20261015092224.262158-1-shuai.zhang@xxxxxxxxxxxxxxxx/
Shuai Zhang (2):
Bluetooth: hci_qca: Reopen port after power on for QCA2066
Bluetooth: hci_qca: Don't use the serdev port after a failed reopen
drivers/bluetooth/hci_qca.c | 46 +++++++++++++++++++++++++++++-----
drivers/bluetooth/hci_serdev.c | 6 +++--
2 files changed, 44 insertions(+), 8 deletions(-)
--
2.34.1