Re: [PATCH v3 0/2] Bluetooth: hci_qca: Reopen port after power on for QCA2066

From: Bartosz Golaszewski

Date: Fri Oct 30 2026 - 05:30:35 EST


On Wed, Oct 28, 2026 at 07:18:37PM +0800, Shuai Zhang wrote:
> 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
>

Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxxxxxxxx>