Bluetooth: hci_h5: Turn off RTL8723BS on suspend, reprobe on resume
authorHans de Goede <hdegoede@redhat.com>
Tue, 30 Oct 2018 13:17:23 +0000 (14:17 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 18 Dec 2018 23:49:33 +0000 (00:49 +0100)
commit8589086f4efd5756d20cedd844b865e5d20164ec
tree38ee30a7d66ade09b265696abfa55c89f6f372bf
parent28a75e4c813c7ae7de5b4baf4c29369769247cc6
Bluetooth: hci_h5: Turn off RTL8723BS on suspend, reprobe on resume

On many devices the RTL8723BS device gets reset during suspend/resume,
causing it to lose its firmware and all state.

Testing has shown it drops back to communicating at 115200 bps and sends
sync-request packages, indicating it has been fully reset.

This commit fixes this by queueing a reprobe on resume.

This mirrors how USB RTL BT devices, which have the same problem, are
handled in the btusb driver, there we set the USB_QUIRK_RESET_RESUME for
all RTL devices, which also causes a reprobe on resume. The only difference
is that here we need to do the reprobe ourselves.

Since we are doing a full reprobe on resume now, we can also turn off the
device on suspend to save power while suspended.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/hci_h5.c