Hi Abhishek, > On Jul 30, 2020, at 07:17, Abhishek Pandit-Subedi <abhishekpandit@xxxxxxxxxxxx> wrote: > > This reverts commit 7ecacafc240638148567742cca41aa7144b4fe1e. > > Testing this change on a board with RTL8822CE, I found that enabling > autosuspend has no effect on the stability of the system. The board > continued working after autosuspend, suspend and reboot. The original issue was found on 8723DE. Do you have one to test with? The rtw88 codebase has changed a lot and maybe it's already fixed in mainline. Let me do some test and I'll report back. > > The original commit makes it impossible to enable autosuspend on working > systems so it should be reverted. Disabling autosuspend should be done > via module param or udev in userspace instead. > > Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@xxxxxxxxxxxx> > --- > We have a few Chromebooks using the RTL 8822CE part over USB and they > are running without problems with autosuspend enabled. While bringing up > a new board, I found some power regressions that I was able to narrow > down to this change so I'm requesting a revert. > > I tested this on Hp Chromebook 14a (running 4.14 kernel and 5.4 kernel) > with this revert: > * Enabled autosuspend, used it normally with a HID device > * Suspended the Chromebook and verified it worked normally on resume > * Rebooted the Chromebook and verified Bluetooth was working on next > boot > > I didn't see the issue that was originally reported with this fix. For > the original reporter, if you're still seeing this issue, there are > other ways to disable autosuspend for your device: > * set module param: enable_autosuspend=0 > * change your kconfig so BT_HCIBTUSB_AUTOSUSPEND=n > * use a udev rule to disable autosuspend for specific vid:pid > > Keeping this change in the kernel makes it impossible to enable > autosuspend so it should be reverted. It's apparently a driver/firmware/hardware issue, so the fix should keep inside the kernel. However, the fix can be more precise and target only 8723DE. Kai-Heng > > drivers/bluetooth/btusb.c | 4 ---- > 1 file changed, 4 deletions(-) > > diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c > index 1f51494f581812..8d2608ddfd0875 100644 > --- a/drivers/bluetooth/btusb.c > +++ b/drivers/bluetooth/btusb.c > @@ -4086,10 +4086,6 @@ static int btusb_probe(struct usb_interface *intf, > set_bit(BTUSB_USE_ALT1_FOR_WBS, &data->flags); > else > bt_dev_err(hdev, "Device does not support ALT setting 1"); > - > - err = usb_autopm_get_interface(intf); > - if (err < 0) > - goto out_free_dev; > } > > if (!reset) > -- > 2.28.0.rc0.142.g3c755180ce-goog >