[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20231127090545.117162-1-15013537245@163.com>
Date: Mon, 27 Nov 2023 17:05:45 +0800
From: 15013537245@....com
To: marcel@...tmann.org, johan.hedberg@...il.com, luiz.dentz@...il.com
Cc: linux-bluetooth@...r.kernel.org, linux-kernel@...r.kernel.org,
"clancy.shang" <clancy.shang@...ctel.com>
Subject: [PATCH] Bluetooth: hci_sync: fix BR/EDR wakeup bug
From: "clancy.shang" <clancy.shang@...ctel.com>
Steam deck in suspending state, but bt controller send hci
mode change event to host. cause Steam Deck can't into sleep.
Signed-off-by: clancy.shang <clancy.shang@...ctel.com>
---
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
Powered by blists - more mailing lists