[PATCH 0/2] Reset realtek bluetooth devices during user suspend

From: Abhishek Pandit-Subedi
Date: Tue Sep 17 2019 - 17:27:09 EST



On a Realtek USB bluetooth device, I wanted a simple and consistent way
to put the device in reset during suspend (2 reasons: to save power and
disable BT as a wakeup source). Resetting it in the suspend callback
causes a detach and the resume callback is not called. Hence the changes
in this series to do the reset in suspend_noirq.

I looked into using PERSIST and reset on resume but those seem mainly
for misbehaving devices that reset themselves.

This patch series has been tested with Realtek BT hardware as well as
Intel BT (test procedure = disable as wake source, user suspend and
observe a detach + reattach on resume).



Abhishek Pandit-Subedi (2):
usb: support suspend_noirq
Bluetooth: btusb: Reset realtek devices on user suspend

drivers/bluetooth/btusb.c | 26 ++++++++++++++++++
drivers/usb/core/driver.c | 56 +++++++++++++++++++++++++++++++++++++++
drivers/usb/core/usb.c | 6 +++++
include/linux/pm.h | 8 ++++++
include/linux/usb.h | 3 +++
5 files changed, 99 insertions(+)

--
2.23.0.237.gc6a4ce50a0-goog