diff options
Diffstat (limited to 'drivers/input/mouse/sentelic.c')
| -rw-r--r-- | drivers/input/mouse/sentelic.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/input/mouse/sentelic.c b/drivers/input/mouse/sentelic.c index 3f5649f19082..a261d8576919 100644 --- a/drivers/input/mouse/sentelic.c +++ b/drivers/input/mouse/sentelic.c | |||
| @@ -721,6 +721,17 @@ static psmouse_ret_t fsp_process_byte(struct psmouse *psmouse) | |||
| 721 | 721 | ||
| 722 | switch (psmouse->packet[0] >> FSP_PKT_TYPE_SHIFT) { | 722 | switch (psmouse->packet[0] >> FSP_PKT_TYPE_SHIFT) { |
| 723 | case FSP_PKT_TYPE_ABS: | 723 | case FSP_PKT_TYPE_ABS: |
| 724 | |||
| 725 | if ((packet[0] == 0x48 || packet[0] == 0x49) && | ||
| 726 | packet[1] == 0 && packet[2] == 0) { | ||
| 727 | /* | ||
| 728 | * Ignore coordinate noise when finger leaving the | ||
| 729 | * surface, otherwise cursor may jump to upper-left | ||
| 730 | * corner. | ||
| 731 | */ | ||
| 732 | packet[3] &= 0xf0; | ||
| 733 | } | ||
| 734 | |||
| 724 | abs_x = GET_ABS_X(packet); | 735 | abs_x = GET_ABS_X(packet); |
| 725 | abs_y = GET_ABS_Y(packet); | 736 | abs_y = GET_ABS_Y(packet); |
| 726 | 737 | ||
