2024-05-22 09:24:30

by huanglei814

[permalink] [raw]
Subject: [PATCH] HID: usbhid: enable remote wakeup for mouse

From: huanglei <[email protected]>

This patch enables remote wakeup by default for USB mouse
devices. Mouse can used to be wakeup devices, but the correct
place to enable it depends on the device's bus; no single
approach will work for all mouse devices. In particular, this
covers only USB mouse (and then only those supporting the boot
protocol).

Signed-off-by: huanglei <[email protected]>
---
drivers/hid/usbhid/hid-core.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
index a90ed2ceae84..7ed3ab36426d 100644
--- a/drivers/hid/usbhid/hid-core.c
+++ b/drivers/hid/usbhid/hid-core.c
@@ -1189,6 +1189,15 @@ static int usbhid_start(struct hid_device *hid)
device_set_wakeup_enable(&dev->dev, 1);
}

+ /* enable remote wakeup by default for all mouse
+ * devices supporting the boot protocol.
+ */
+ if (interface->desc.bInterfaceSubClass == USB_INTERFACE_SUBCLASS_BOOT &&
+ interface->desc.bInterfaceProtocol ==
+ USB_INTERFACE_PROTOCOL_MOUSE) {
+ device_set_wakeup_enable(&dev->dev, 1);
+ }
+
mutex_unlock(&usbhid->mutex);
return 0;

--
2.17.1



2024-05-22 10:00:15

by Oliver Neukum

[permalink] [raw]
Subject: Re: [PATCH] HID: usbhid: enable remote wakeup for mouse

On 22.05.24 11:22, huanglei814 wrote:
> From: huanglei <[email protected]>
>
> This patch enables remote wakeup by default for USB mouse
> devices. Mouse can used to be wakeup devices, but the correct
> place to enable it depends on the device's bus; no single
> approach will work for all mouse devices. In particular, this
> covers only USB mouse (and then only those supporting the boot
> protocol).

Hi,

could you explain in the log why you want this to depend
on support for the boot protocol?

Regards
Oliver


2024-05-22 11:23:58

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] HID: usbhid: enable remote wakeup for mouse

On Wed, May 22, 2024 at 05:22:57PM +0800, huanglei814 wrote:
> From: huanglei <[email protected]>
>
> This patch enables remote wakeup by default for USB mouse
> devices.

That is not a good idea. Please see the mailing list archives for the
past 20+ years for why this is the way it is.

If you know your device can support this, please set it in userspace,
but we can not change the default value at this point in time, sorry.

> Mouse can used to be wakeup devices, but the correct
> place to enable it depends on the device's bus; no single
> approach will work for all mouse devices. In particular, this
> covers only USB mouse (and then only those supporting the boot
> protocol).

And that is really not a wise choice, boot protocol mice have no
requirement that they support remote wakeup. So restricting it like
this really will not help, sorry.

Again, do this in userspace, that's why the interface is there to do so.

greg k-h

2024-05-24 03:15:43

by huanglei814

[permalink] [raw]
Subject: Re: [PATCH] HID: usbhid: enable remote wakeup for mouse

Just wanted to support mouse  wake up.

Set it in userspace will be a better choice, Now,canceled the patch.



在 2024/5/22 18:00, Oliver Neukum 写道:
> On 22.05.24 11:22, huanglei814 wrote:
>> From: huanglei <[email protected]>
>>
>> This patch enables remote wakeup by default for USB mouse
>> devices.  Mouse can used to be wakeup devices, but the correct
>> place to enable it depends on the device's bus; no single
>> approach will work for all mouse devices.  In particular, this
>> covers only USB mouse (and then only those supporting the boot
>> protocol).
>
> Hi,
>
> could you explain in the log why you want this to depend
> on support for the boot protocol?
>
>     Regards
>         Oliver