[PATCH] USB: add ignore remote wakeup quirk for one of Logitech's receivers

Hamza Mahfooz posted 1 patch 2 years, 3 months ago
drivers/usb/core/quirks.c | 4 ++++
1 file changed, 4 insertions(+)
[PATCH] USB: add ignore remote wakeup quirk for one of Logitech's receivers
Posted by Hamza Mahfooz 2 years, 3 months ago
This device causes the system to wake up from suspend, as soon as it
enters it (even if the device attached to the receiver is powered off).
So, ignore remote wakeup events from it.

Cc: stable@vger.kernel.org
Signed-off-by: Hamza Mahfooz <someguy@effective-light.com>
---
 drivers/usb/core/quirks.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index 15e9bd180a1d..d2e2a2873f34 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -264,6 +264,10 @@ static const struct usb_device_id usb_quirk_list[] = {
 	/* Logitech Harmony 700-series */
 	{ USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT },
 
+	/* Logitech lightspeed receiver (0xc547) */
+	{ USB_DEVICE(0x046d, 0xc547), .driver_info =
+			USB_QUIRK_IGNORE_REMOTE_WAKEUP },
+
 	/* Philips PSC805 audio device */
 	{ USB_DEVICE(0x0471, 0x0155), .driver_info = USB_QUIRK_RESET_RESUME },
 
-- 
2.42.0
Re: [PATCH] USB: add ignore remote wakeup quirk for one of Logitech's receivers
Posted by Hans de Goede 2 years, 3 months ago
Hi Hamza,

On 9/10/23 18:37, Hamza Mahfooz wrote:
> This device causes the system to wake up from suspend, as soon as it
> enters it (even if the device attached to the receiver is powered off).
> So, ignore remote wakeup events from it.
> 
> Cc: stable@vger.kernel.org
> Signed-off-by: Hamza Mahfooz <someguy@effective-light.com>
> ---
>  drivers/usb/core/quirks.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
> index 15e9bd180a1d..d2e2a2873f34 100644
> --- a/drivers/usb/core/quirks.c
> +++ b/drivers/usb/core/quirks.c
> @@ -264,6 +264,10 @@ static const struct usb_device_id usb_quirk_list[] = {
>  	/* Logitech Harmony 700-series */
>  	{ USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT },
>  
> +	/* Logitech lightspeed receiver (0xc547) */
> +	{ USB_DEVICE(0x046d, 0xc547), .driver_info =
> +			USB_QUIRK_IGNORE_REMOTE_WAKEUP },
> +
>  	/* Philips PSC805 audio device */
>  	{ USB_DEVICE(0x0471, 0x0155), .driver_info = USB_QUIRK_RESET_RESUME },
>  

If this is a lightspeed receiver then it really should be handled by
hid-logitech-dj.c unless this new receiver is using a new protocol ?

I wonder if adding it there also fixes the remote
wakeup issue (I doubt it fixes it but worth a try) ?

Regards,

Hans
Re: [PATCH] USB: add ignore remote wakeup quirk for one of Logitech's receivers
Posted by Hamza Mahfooz 2 years, 3 months ago
Hey Hans,

On Mon, Sep 11 2023 at 09:32:42 AM +02:00:00, Hans de Goede 
<hdegoede@redhat.com> wrote:
> Hi Hamza,
> 
> On 9/10/23 18:37, Hamza Mahfooz wrote:
>>  This device causes the system to wake up from suspend, as soon as it
>>  enters it (even if the device attached to the receiver is powered 
>> off).
>>  So, ignore remote wakeup events from it.
>> 
>>  Cc: stable@vger.kernel.org
>>  Signed-off-by: Hamza Mahfooz <someguy@effective-light.com>
>>  ---
>>   drivers/usb/core/quirks.c | 4 ++++
>>   1 file changed, 4 insertions(+)
>> 
>>  diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
>>  index 15e9bd180a1d..d2e2a2873f34 100644
>>  --- a/drivers/usb/core/quirks.c
>>  +++ b/drivers/usb/core/quirks.c
>>  @@ -264,6 +264,10 @@ static const struct usb_device_id 
>> usb_quirk_list[] = {
>>   	/* Logitech Harmony 700-series */
>>   	{ USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT 
>> },
>> 
>>  +	/* Logitech lightspeed receiver (0xc547) */
>>  +	{ USB_DEVICE(0x046d, 0xc547), .driver_info =
>>  +			USB_QUIRK_IGNORE_REMOTE_WAKEUP },
>>  +
>>   	/* Philips PSC805 audio device */
>>   	{ USB_DEVICE(0x0471, 0x0155), .driver_info = 
>> USB_QUIRK_RESET_RESUME },
>> 
> 
> If this is a lightspeed receiver then it really should be handled by
> hid-logitech-dj.c unless this new receiver is using a new protocol ?
> 
> I wonder if adding it there also fixes the remote
> wakeup issue (I doubt it fixes it but worth a try) ?


Seems like the following series does indeed fix this issue:
https://lore.kernel.org/linux-input/20230716182320.85483-1-mavchatz@protonmail.com/T/#u

> 
> Regards,
> 
> Hans
> 
> 
>
Re: [PATCH] USB: add ignore remote wakeup quirk for one of Logitech's receivers
Posted by Hans de Goede 2 years, 3 months ago
Hi Hamza,

On 9/11/23 17:19, Hamza Mahfooz wrote:
> Hey Hans,
> 
> On Mon, Sep 11 2023 at 09:32:42 AM +02:00:00, Hans de Goede <hdegoede@redhat.com> wrote:
>> Hi Hamza,
>>
>> On 9/10/23 18:37, Hamza Mahfooz wrote:
>>>  This device causes the system to wake up from suspend, as soon as it
>>>  enters it (even if the device attached to the receiver is powered off).
>>>  So, ignore remote wakeup events from it.
>>>
>>>  Cc: stable@vger.kernel.org
>>>  Signed-off-by: Hamza Mahfooz <someguy@effective-light.com>
>>>  ---
>>>   drivers/usb/core/quirks.c | 4 ++++
>>>   1 file changed, 4 insertions(+)
>>>
>>>  diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
>>>  index 15e9bd180a1d..d2e2a2873f34 100644
>>>  --- a/drivers/usb/core/quirks.c
>>>  +++ b/drivers/usb/core/quirks.c
>>>  @@ -264,6 +264,10 @@ static const struct usb_device_id usb_quirk_list[] = {
>>>       /* Logitech Harmony 700-series */
>>>       { USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT },
>>>
>>>  +    /* Logitech lightspeed receiver (0xc547) */
>>>  +    { USB_DEVICE(0x046d, 0xc547), .driver_info =
>>>  +            USB_QUIRK_IGNORE_REMOTE_WAKEUP },
>>>  +
>>>       /* Philips PSC805 audio device */
>>>       { USB_DEVICE(0x0471, 0x0155), .driver_info = USB_QUIRK_RESET_RESUME },
>>>
>>
>> If this is a lightspeed receiver then it really should be handled by
>> hid-logitech-dj.c unless this new receiver is using a new protocol ?
>>
>> I wonder if adding it there also fixes the remote
>> wakeup issue (I doubt it fixes it but worth a try) ?
> 
> 
> Seems like the following series does indeed fix this issue:
> https://lore.kernel.org/linux-input/20230716182320.85483-1-mavchatz@protonmail.com/T/#u

Great, thank you for letting us know that this is resolved with
that patch series.

Regards,

Hans