diff mbox series

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

Message ID 20230910163751.4210-1-someguy@effective-light.com (mailing list archive)
State New, archived
Headers show
Series USB: add ignore remote wakeup quirk for one of Logitech's receivers | expand

Commit Message

Hamza Mahfooz Sept. 10, 2023, 4:37 p.m. UTC
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(+)

Comments

Hans de Goede Sept. 11, 2023, 7:32 a.m. UTC | #1
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
Hamza Mahfooz Sept. 11, 2023, 3:19 p.m. UTC | #2
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
> 
> 
>
Hans de Goede Sept. 11, 2023, 3:29 p.m. UTC | #3
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
diff mbox series

Patch

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 },