Re: [PATCH] Bluetooth: hci_sync: fix BR/EDR wakeup bug

From: Luiz Augusto von Dentz
Date: Mon Nov 27 2023 - 09:18:40 EST


Hi,

On Mon, Nov 27, 2023 at 4:06 AM <15013537245@xxxxxxx> wrote:
>
> From: "clancy.shang" <clancy.shang@xxxxxxxxxxx>
>
> Steam deck in suspending state, but bt controller send hci
> mode change event to host. cause Steam Deck can't into sleep.

It probably makes sense to add the btmon trace showing the issue.

> Signed-off-by: clancy.shang <clancy.shang@xxxxxxxxxxx>
> ---
> net/bluetooth/hci_sync.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
> index a15ab0b874a9..a26a58cb2c38 100644
> --- a/net/bluetooth/hci_sync.c
> +++ b/net/bluetooth/hci_sync.c
> @@ -3800,12 +3800,14 @@ static int hci_set_event_mask_sync(struct hci_dev *hdev)
> if (lmp_bredr_capable(hdev)) {
> events[4] |= 0x01; /* Flow Specification Complete */
>
> - /* Don't set Disconnect Complete when suspended as that
> - * would wakeup the host when disconnecting due to
> - * suspend.
> + /* Don't set Disconnect Complete and mode change when
> + * suspended as that would wakeup the host when disconnecting
> + * due to suspend.
> */
> - if (hdev->suspended)
> + if (hdev->suspended) {
> events[0] &= 0xef;
> + events[2] &= 0xf7;
> + }
> } else {
> /* Use a different default for LE-only devices */
> memset(events, 0, sizeof(events));
> --
> 2.25.1
>


--
Luiz Augusto von Dentz