Message ID | 20231218102417.474022-1-15013537245@163.com |
---|---|
State | Superseded |
Headers | show |
Series | Bluetooth: hci_sync: fix BR/EDR wakeup bug | expand |
Hello: This patch was applied to bluetooth/bluetooth-next.git (master) by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>: On Mon, 18 Dec 2023 18:24:17 +0800 you wrote: > From: clancy shang <clancy.shang@quectel.com> > > when Bluetooth set the event mask and enter suspend, the controller > has hci mode change event coming, it cause controller can not enter > sleep mode. so it should to set the hci mode change event mask before > enter suspend. > > [...] Here is the summary with links: - Bluetooth: hci_sync: fix BR/EDR wakeup bug https://git.kernel.org/bluetooth/bluetooth-next/c/1e961bd261a6 You are awesome, thank you!
diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c index d85a7091a116..97284d9b2a2e 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));