lkml.org 
[lkml]   [2015]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] Input: ALPS - fix max coordinates for v5 and v7 protocols
Hi,

On 22-03-15 04:36, Dmitry Torokhov wrote:
> Commit 3296f71cd2fde7a2ad52e66a27eae419f6328066 ("Input: ALPS - consolidate
> setting protocol parameters") inadvertently moved call to
> alps_dolphin_get_device_area() from v5 to v7 protocol, causing both
> protocols report incorrect maximum values for X and Y axes which resulted
> in crash in Synaptics X driver.
>
> Reported-by: Santiago Gala <sgala@apache.org>
> Reported-by: Pali Rohár <pali.rohar@gmail.com>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

Fix looks good to me:

Acked-by: Hans de Goede <hdegoede@redhat.com>

Regards,

Hans


> ---
> drivers/input/mouse/alps.c | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c
> index 1bd15eb..33198b9 100644
> --- a/drivers/input/mouse/alps.c
> +++ b/drivers/input/mouse/alps.c
> @@ -2281,10 +2281,12 @@ static int alps_set_protocol(struct psmouse *psmouse,
> priv->set_abs_params = alps_set_abs_params_mt;
> priv->nibble_commands = alps_v3_nibble_commands;
> priv->addr_command = PSMOUSE_CMD_RESET_WRAP;
> - priv->x_max = 1360;
> - priv->y_max = 660;
> priv->x_bits = 23;
> priv->y_bits = 12;
> +
> + if (alps_dolphin_get_device_area(psmouse, priv))
> + return -EIO;
> +
> break;
>
> case ALPS_PROTO_V6:
> @@ -2303,9 +2305,8 @@ static int alps_set_protocol(struct psmouse *psmouse,
> priv->set_abs_params = alps_set_abs_params_mt;
> priv->nibble_commands = alps_v3_nibble_commands;
> priv->addr_command = PSMOUSE_CMD_RESET_WRAP;
> -
> - if (alps_dolphin_get_device_area(psmouse, priv))
> - return -EIO;
> + priv->x_max = 0xfff;
> + priv->y_max = 0x7ff;
>
> if (priv->fw_ver[1] != 0xba)
> priv->flags |= ALPS_BUTTONPAD;
>


\
 
 \ /
  Last update: 2015-03-22 12:01    [from the cache]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and my Meterkast|Read the blog