Re: [RFC PATCH v5 0/5] Bluetooth: Handle system suspend gracefully
From: Marcel Holtmann <marcel@holtmann.org>
Date: 2020-03-11 15:03:17
Also in:
linux-bluetooth, lkml
Hi Abhishek,
This patch series prepares the Bluetooth controller for system suspend by disconnecting all devices and preparing the event filter and LE whitelist with devices that can wake the system from suspend. The main motivation for doing this is so we can enable Bluetooth as a wake up source during suspend without it being noisy. Bluetooth should wake the system when a HID device receives user input but otherwise not send any events to the host. This patch series was tested on several Chromebooks with both btusb and hci_serdev on kernel 4.19. The set of tests was basically the following: * Reconnects after suspend succeed * HID devices can wake the system from suspend (needs some related bluez changes to call the Set Wake Capable management command) * System properly pauses and unpauses discovery + advertising around suspend * System does not wake from any events from non wakeable devices Series 2 has refactored the change into multiple smaller commits as requested. I tried to simplify some of the whitelist filtering edge cases but unfortunately it remains quite complex. Series 3 has refactored it further and should have resolved the whitelisting complexity in series 2. Series 4 adds a fix to check for powered down and powering down adapters. Series 5 moves set_wake_capable to the last patch in the series and changes BT_DBG to bt_dev_dbg. Please review and provide any feedback.
so I was planning to apply patches 1-4. The only thing that I noticed was that patch 2 introduces the following warning.
CC net/bluetooth/hci_request.o
net/bluetooth/hci_request.c: In function ‘hci_req_prepare_suspend’:
net/bluetooth/hci_request.c:973:6: warning: unused variable ‘old_state’ [-Wunused-variable]
973 | int old_state;
| ^~~~~~~~~
I think this variable should only be introduced in patch 4. Are you able to respin this series so that the variable moves to patch 4. If not, I can try to fix this myself.
Regards
Marcel