Adding Jiri...

On Mon, Oct 13, 2014 at 03:43:26PM +0000, Cole, JD wrote:
> Hi All,
> 
> We have received multiple bug reports that Plantronics headsets are causing 
> or interfering with mouse events. We've identified the root cause of this in 
> hid-input.c, where un-handled usages (from any usage page) will be mapped to 
> miscellaneous LEDs, buttons, or movements. In short, press a USB equipped 
> volume, mute, or hang-up button and get a random mouse event.
> 
> This intermittent behavior isn't consistent across all headsets since with 
> similar capabilities as usages marked 'constant' are ignored early on in 
> 'hidinput_configure_usage'. While interpretation of the correct use of 
> 'constant usages' is left to the individual vendors, we still feel that the 
> HID input driver should not be mapping otherwise unhandled usages to 
> LED_/BIN_/REL_/ABS_MISC usages events.
> 
> Solving this issue is a larger effort and it's hard for us to comment on the 
> needs of other manufacturers. That said, we would like to propose the 
> attached interim fix which assumes mouse events don't come from the Telephony 
> page.
> 
> jd
> 
> ------------------ snip --------------------
> From 647545b985b75434609c58dda2ef6612e231a44e Mon Sep 17 00:00:00 2001
> From: JD Cole <[email protected]>
> Date: Fri, 10 Oct 2014 17:41:27 -0400
> Subject: [PATCH] Prevent HID Telephony page events from being mapped to
>  miscellaneous buttons.
> 
> The hid-input previously interpreted un-mapped telephony page usages, 
> incorrectly,
> to misc mouse, button, or LED messages. Exhibited most commonly as an USB 
> telephony
> headsets causing intermittent or "random" mouse behavior.
> 
> Signed-off-by: JD Cole <[email protected]>
> ---
>  drivers/hid/hid-input.c | 3 +++
>  include/linux/hid.h     | 1 +
>  2 files changed, 4 insertions(+)
> 
> diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
> index 012880a..1e9ef8e 100644
> --- a/drivers/hid/hid-input.c
> +++ b/drivers/hid/hid-input.c
> @@ -895,6 +895,9 @@ static void hidinput_configure_usage(struct hid_input 
> *hidinput, struct hid_fiel
>                 }
>                 break;
> 
> +       case HID_UP_TELEPHONY:
> +               goto ignore;
> +
>         default:
>         unknown:
>                 if (field->report_size == 1) {
> diff --git a/include/linux/hid.h b/include/linux/hid.h
> index 4f8aa47..6489a93 100644
> --- a/include/linux/hid.h
> +++ b/include/linux/hid.h
> @@ -159,6 +159,7 @@ struct hid_item {
>  #define HID_UP_LED             0x00080000
>  #define HID_UP_BUTTON          0x00090000
>  #define HID_UP_ORDINAL         0x000a0000
> +#define HID_UP_TELEPHONY               0x000b0000
>  #define HID_UP_CONSUMER                0x000c0000
>  #define HID_UP_DIGITIZER       0x000d0000
>  #define HID_UP_PID             0x000f0000
> --
> 1.8.3.1
> 
> 
> ________________________________
> 
> CONFIDENTIALITY NOTICE: This e-mail transmission, and any documents, files or 
> previous e-mail messages attached to it, may contain information that is 
> confidential and/or legally privileged. If you are not the intended 
> recipient, or a person responsible for delivering it to the intended 
> recipient, please DO NOT disclose the contents to another person, store or 
> copy the information in any medium, or use any of the information contained 
> in or attached to this transmission for any purpose. If you have received 
> this transmission in error, please immediately notify the sender by reply 
> email or at [email protected], and destroy the original transmission 
> and its attachments without reading or saving in any manner.
> 
> For further information about Plantronics - the Company, its products, 
> brands, partners, please visit our website www.plantronics.com.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-input" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to