Hi Oliver, > 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> > --- > drivers/bluetooth/btusb.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c > index e8d8a3f61f5b..7a5c06aaa181 100644 > --- a/drivers/bluetooth/btusb.c > +++ b/drivers/bluetooth/btusb.c > @@ -1088,6 +1088,10 @@ static int btusb_open(struct hci_dev *hdev) > } > > 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; > @@ -1151,6 +1155,7 @@ static int btusb_close(struct hci_dev *hdev) > goto failed; > > data->intf->needs_remote_wakeup = 0; > + device_wakeup_disable(&data->udev->dev); > usb_autopm_put_interface(data->intf); if this is an acceptable way of handling this, can I get an ack from you. Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html