Realtek RTL8822BE BT chip on ASUS X420FA cannot be turned on correctly after on-off several times. Bluetooth daemon sets BT mode failed when this issue happens. bluetoothd[1576]: Failed to set mode: Failed (0x03) If BT is tunred off, then turned on again, it works correctly again. This patch makes RTL8822BE BT reset on close to fix this issue. Signed-off-by: Jian-Hong Pan <jian-hong@xxxxxxxxxxxx> --- drivers/bluetooth/btrtl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c index 208feef63de4..7e9930f0f231 100644 --- a/drivers/bluetooth/btrtl.c +++ b/drivers/bluetooth/btrtl.c @@ -608,10 +608,11 @@ int btrtl_download_firmware(struct hci_dev *hdev, case RTL_ROM_LMP_8723A: case RTL_ROM_LMP_3499: return btrtl_setup_rtl8723a(hdev, btrtl_dev); + case RTL_ROM_LMP_8822B: + set_bit(HCI_QUIRK_RESET_ON_CLOSE, &hdev->quirks); case RTL_ROM_LMP_8723B: case RTL_ROM_LMP_8821A: case RTL_ROM_LMP_8761A: - case RTL_ROM_LMP_8822B: return btrtl_setup_rtl8723b(hdev, btrtl_dev); default: rtl_dev_info(hdev, "rtl: assuming no firmware upload needed\n"); -- 2.20.1