diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index 184e95c1625e..e7dd19b20cc8 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c @@ -3889,6 +3889,12 @@ static int btusb_shutdown_qca(struct hci_dev *hdev) return 0; } +static int btusb_shutdown_rtl8723de(struct hci_dev *hdev) +{ + bt_dev_info(hdev, "skipping HCI_OP_RESET......"); + return 0; +} + static ssize_t force_poll_sync_read(struct file *file, char __user *user_buf, size_t count, loff_t *ppos) { @@ -4338,6 +4344,9 @@ static int btusb_probe(struct usb_interface *intf, set_bit(BTUSB_USE_ALT3_FOR_WBS, &data->flags); } + if (id->idVendor == 0x0bda && id->idProduct == 0xb009) + hdev->shutdown = btusb_shutdown_rtl8723de; + if (id->driver_info & BTUSB_ACTIONS_SEMI) { /* Support is advertised, but not implemented */ hci_set_quirk(hdev, HCI_QUIRK_BROKEN_ERR_DATA_REPORTING);