• Hans de Goede's avatar
    Bluetooth: hci_h5: Turn off RTL8723BS on suspend, reprobe on resume · 8589086f
    Hans de Goede authored
    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: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
    8589086f
hci_h5.c 23 KB