Re: [PATCH] Bluetooth: hci_sync: fix hogp device suspend bug

From: Luiz Augusto von Dentz
Date: Wed Jan 03 2024 - 10:55:33 EST


Hi Clancy,

On Wed, Jan 3, 2024 at 5:12 AM <clancy_shang@xxxxxxx> wrote:
>
> From: Clancy Shang <clancy.shang@xxxxxxxxxxx>
>
> when Bluetooth enters suspend, and disconnects everything with the
> disconnect reason code of 0x15, the hogp device could not into sleep
> and continued advertising. when use the disconnect reason code of 0x13,
> the hogp device going into sleep succeeded.
>
> Signed-off-by: Clancy Shang <clancy.shang@xxxxxxxxxxx>
> ---
> net/bluetooth/hci_sync.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
> index d85a7091a116..16b5420c32d0 100644
> --- a/net/bluetooth/hci_sync.c
> +++ b/net/bluetooth/hci_sync.c
> @@ -5927,7 +5927,7 @@ int hci_suspend_sync(struct hci_dev *hdev)
>
> if (hci_conn_count(hdev)) {
> /* Soft disconnect everything (power off) */
> - err = hci_disconnect_all_sync(hdev, HCI_ERROR_REMOTE_POWER_OFF);
> + err = hci_disconnect_all_sync(hdev, HCI_ERROR_REMOTE_USER_TERM);

Are you actually paying attention to my responses? I did nak this
change before, so we need to find some way to detect the device is
handling HCI_ERROR_REMOTE_POWER_OFF as link loss, which is wrong, and
only then use HCI_ERROR_REMOTE_USER_TERM, so please don't keep sending
the same patch over and over until you make these changes.

> if (err) {
> /* Set state to BT_RUNNING so resume doesn't notify */
> hdev->suspend_state = BT_RUNNING;
> --
> 2.25.1
>


--
Luiz Augusto von Dentz