Message ID | 20200729161740.1.Ib03d0827c8e48fc3df887fec698f79fa335c9274@changeid (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | Revert "Bluetooth: btusb: Disable runtime suspend on Realtek devices" | expand |
Hi Abhishek, > On Jul 30, 2020, at 07:17, Abhishek Pandit-Subedi <abhishekpandit@chromium.org> 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@chromium.org> > --- > 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 >
Hi Kai-Heng, >> On Jul 30, 2020, at 07:17, Abhishek Pandit-Subedi <abhishekpandit@chromium.org> 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@chromium.org> >> --- >> 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. lets do that and lets do it quickly since the merge window is close. Otherwise I really have to revert that patch. Regards Marcel
> On Jul 30, 2020, at 15:30, Marcel Holtmann <marcel@holtmann.org> wrote: > > Hi Kai-Heng, > >>> On Jul 30, 2020, at 07:17, Abhishek Pandit-Subedi <abhishekpandit@chromium.org> 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@chromium.org> >>> --- >>> 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. > > lets do that and lets do it quickly since the merge window is close. Otherwise I really have to revert that patch. Ok, I no longer observe the original issue with the patch reverted. Acked-by: Kai-Heng Feng <kai.heng.feng@canonical.com> > > Regards > > Marcel >
Hi Abhishek, > 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 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@chromium.org> > --- > 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. > > drivers/bluetooth/btusb.c | 4 ---- > 1 file changed, 4 deletions(-) patch has been applied to bluetooth-next tree. Regards Marcel
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)
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 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@chromium.org> --- 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. drivers/bluetooth/btusb.c | 4 ---- 1 file changed, 4 deletions(-)