Re: [PATCH] HID: plantronics: Additional PID for double volume key presses quirk

Greg KH
2024-09-13T06:28:11Z

On Fri, Sep 13, 2024 at 02:07:10PM +0800, Wade Wang wrote:
> Add the below headsets for double volume key presses quirk
> Plantronics EncorePro 500 Series (047f:431e)
> Plantronics Blackwire_3325 Series (047f:430c)
>
> Quote from previous patch by Maxim Mikityanskiy and Terry Junge
> 'commit f567d6ef8606 ("HID: plantronics: Workaround for double volume
> key presses")'
> 'commit 3d57f36c89d8 ("HID: plantronics: Additional PIDs for double
> volume key presses quirk")'
> These Plantronics Series headset sends an opposite volume key following
> each volume key press. This patch adds a quirk to hid-plantronics for this
> product ID, which will ignore the second opposite volume key press if it
> happens within 250 ms from the last one that was handled.
>
> Cc: stable@vger.kernel.org
> Signed-off-by: Wade Wang <wade.wang@hp.com>
> ---
> drivers/hid/hid-ids.h | 2 ++
> drivers/hid/hid-plantronics.c | 11 +++++++++++
> 2 files changed, 13 insertions(+)
>
> diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
> index 781c5aa29859..a0aaac98a891 100644
> --- a/drivers/hid/hid-ids.h
> +++ b/drivers/hid/hid-ids.h
> @@ -1050,6 +1050,8 @@
> #define USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3220_SERIES 0xc056
> #define USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3215_SERIES 0xc057
> #define USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3225_SERIES 0xc058
> +#define USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3325_SERIES 0x430c
> +#define USB_DEVICE_ID_PLANTRONICS_ENCOREPRO_500_SERIES 0x431e
>
> #define USB_VENDOR_ID_PANASONIC 0x04da
> #define USB_DEVICE_ID_PANABOARD_UBT780 0x1044
> diff --git a/drivers/hid/hid-plantronics.c b/drivers/hid/hid-plantronics.c
> index 3d414ae194ac..2a19f3646ecb 100644
> --- a/drivers/hid/hid-plantronics.c
> +++ b/drivers/hid/hid-plantronics.c
> @@ -38,8 +38,10 @@
> (usage->hid & HID_USAGE_PAGE) == HID_UP_CONSUMER)
>
> #define PLT_QUIRK_DOUBLE_VOLUME_KEYS BIT(0)
> +#define PLT_QUIRK_FOLLOWED_VOLUME_UP_DN_KEYS BIT(1)
>
> #define PLT_DOUBLE_KEY_TIMEOUT 5 /* ms */
> +#define PLT_FOLLOWED_KEY_TIMEOUT 250 /* ms */
>
> struct plt_drv_data {
> unsigned long device_type;
> @@ -134,6 +136,9 @@ static int plantronics_event(struct hid_device *hdev, struct hid_field *field,
> cur_ts = jiffies;
> if (jiffies_to_msecs(cur_ts - prev_ts) <= PLT_DOUBLE_KEY_TIMEOUT)
> return 1; /* Ignore the repeated key. */
> + if ((drv_data->quirks & PLT_QUIRK_FOLLOWED_VOLUME_UP_DN_KEYS)
> + && jiffies_to_msecs(cur_ts - prev_ts) <= PLT_FOLLOWED_KEY_TIMEOUT)
> + return 1; /* Ignore the followed volume key. */
>
> drv_data->last_volume_key_ts = cur_ts;
> }
> @@ -210,6 +215,12 @@ static const struct hid_device_id plantronics_devices[] = {
> { HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS,
> USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3225_SERIES),
> .driver_data = PLT_QUIRK_DOUBLE_VOLUME_KEYS },
> + { HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS,
> + USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3325_SERIES),
> + .driver_data = PLT_QUIRK_DOUBLE_VOLUME_KEYS|PLT_QUIRK_FOLLOWED_VOLUME_UP_DN_KEYS },
> + { HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS,
> + USB_DEVICE_ID_PLANTRONICS_ENCOREPRO_500_SERIES),
> + .driver_data = PLT_QUIRK_DOUBLE_VOLUME_KEYS|PLT_QUIRK_FOLLOWED_VOLUME_UP_DN_KEYS },
> { HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS, HID_ANY_ID) },
> { }
> };
> --
> 2.34.1
>
>

Hi,

This is the friendly patch-bot of Greg Kroah-Hartman. You have sent him
a patch that has triggered this response. He used to manually respond
to these common problems, but in order to save his sanity (he kept
writing the same thing over and over, yet to different people), I was
created. Hopefully you will not take offence and will fix the problem
in your patch and resubmit it so that it can be accepted into the Linux
kernel tree.

You are receiving this message because of the following common error(s)
as indicated below:

- This looks like a new version of a previously submitted patch, but you
did not list below the --- line any changes from the previous version.
Please read the section entitled "The canonical patch format" in the
kernel file, Documentation/process/submitting-patches.rst for what
needs to be done here to properly describe this.

If you wish to discuss this problem further, or you have questions about
how to resolve this issue, please feel free to respond to this email and
Greg will reply once he has dug out from the pending patches received
from other developers.

thanks,

greg k-h's patch email bot