On Thu, 23 Jul 2015, Frank Praznik wrote:

> When connected via Bluetooth the sixaxis periodically sends reports with
> an ID of 1, the second byte 0xff and the rest zeroed.  These reports are
> not related to the controller state and must be dropped to avoid generating
> false input events.
> 
> Signed-off-by: Frank Praznik <[email protected]>
> ---
>  drivers/hid/hid-sony.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
> index ed2f008..beb2b02 100644
> --- a/drivers/hid/hid-sony.c
> +++ b/drivers/hid/hid-sony.c
> @@ -1270,6 +1270,17 @@ static int sony_raw_event(struct hid_device *hdev, 
> struct hid_report *report,
>        * has to be BYTE_SWAPPED before passing up to joystick interface
>        */
>       if ((sc->quirks & SIXAXIS_CONTROLLER) && rd[0] == 0x01 && size == 49) {
> +             /*
> +              * When connected via Bluetooth the Sixaxis occasionally sends
> +              * a report with the second byte 0xff and the rest zeroed.
> +              *
> +              * This report does not reflect the actual state of the
> +              * controller must be ignored to avoid generating false input
> +              * events.
> +              */
> +             if (rd[1] == 0xff)
> +                     return -EINVAL;
> +

Given that this is not a regression and given the current development 
phase, I've applied it to for-4.3/sony.

Thanks,

-- 
Jiri Kosina
SUSE Labs
--
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