+ Kai One more thing: On Wed, Dec 20, 2017 at 11:51:14AM -0800, Brian Norris wrote: > Hi Greg, > > On Mon, Dec 18, 2017 at 04:47:58PM +0100, Greg Kroah-Hartman wrote: > > 4.4-stable review patch. If anyone has any objections, please let me know. > > I'm sorry, but I already objected to this one during the discussion > here: > > https://patchwork.kernel.org/patch/10065483/ > [PATCH 4.13 03/28] Bluetooth: btusb: fix QCA Rome suspend/resume > > in which we pointed out a regression. The $subject patch does NOT > actually resolve the previous regression, though it might help to mask > it. The proper approach to resolve the above regression was to revert > the patch, not to backport the $subject patch. We're already working on reverting the above patch to fix the regression properly: https://patchwork.kernel.org/patch/10125489/ [PATCH 1/2] Revert "Bluetooth: btusb: fix QCA Rome suspend/resume" Brian > Regarding this patch, IIUC this is not a bugfix -- it's a feature > addition (e.g., for helping with BLE mouse wakeup), and it has already > been proven to break some user space (we have an internal bug tracking > this, but suffice it to say that we've already tried and reverted this > patch [1]). This patch massively increases the surface in which spurious > bluetooth activity can wake the system, and in some cases we never can > suspend the system at all. > > Unfortunately, Matthias was on vacation when you sent the review > request, so our team wasn't alerted properly. Can you please back this > out of all -stable branches? > > Or alternatively, if those I've added on CC disagree and are happy to > deal with the fallout of this patch...well, then that's fine. We can > revert this patch in our downstream kernels and reapply if/when we can > account for it properly :) > > Thanks, > Brian > > [1] > https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/750073 > > > ------------------ > > > > From: Sukumar Ghorai <sukumar.ghorai@xxxxxxxxx> > > > > commit a0085f2510e8976614ad8f766b209448b385492f upstream. > > > > BT-Controller connected as platform non-root-hub device and > > usb-driver initialize such device with wakeup disabled, > > Ref. usb_new_device(). > > > > At present wakeup-capability get enabled by hid-input device from usb > > function driver(e.g. BT HID device) at runtime. Again some functional > > driver does not set usb-wakeup capability(e.g LE HID device implement > > as HID-over-GATT), and can't wakeup the host on USB. > > > > Most of the device operation (such as mass storage) initiated from host > > (except HID) and USB wakeup aligned with host resume procedure. For BT > > device, usb-wakeup capability need to enable form btusc driver as a > > generic solution for multiple profile use case and required for USB remote > > wakeup (in-bus wakeup) while host is suspended. Also usb-wakeup feature > > need to enable/disable with HCI interface up and down. > > > > Signed-off-by: Sukumar Ghorai <sukumar.ghorai@xxxxxxxxx> > > Signed-off-by: Amit K Bag <amit.k.bag@xxxxxxxxx> > > Acked-by: Oliver Neukum <oneukum@xxxxxxxx> > > Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> > > Cc: Matthias Kaehlcke <mka@xxxxxxxxxxxx> > > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > --- > > drivers/bluetooth/btusb.c | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > --- a/drivers/bluetooth/btusb.c > > +++ b/drivers/bluetooth/btusb.c > > @@ -1050,6 +1050,10 @@ static int btusb_open(struct hci_dev *hd > > return err; > > > > data->intf->needs_remote_wakeup = 1; > > + /* device specific wakeup source enabled and required for USB > > + * remote wakeup while host is suspended > > + */ > > + device_wakeup_enable(&data->udev->dev); > > > > if (test_and_set_bit(BTUSB_INTR_RUNNING, &data->flags)) > > goto done; > > @@ -1113,6 +1117,7 @@ static int btusb_close(struct hci_dev *h > > goto failed; > > > > data->intf->needs_remote_wakeup = 0; > > + device_wakeup_disable(&data->udev->dev); > > usb_autopm_put_interface(data->intf); > > > > failed: