diff options
| -rw-r--r-- | drivers/hid/hid-multitouch.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index 6a9b05b328a9..7c811252c1ce 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c | |||
| @@ -778,9 +778,16 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi, | |||
| 778 | /* | 778 | /* |
| 779 | * some egalax touchscreens have "application == HID_DG_TOUCHSCREEN" | 779 | * some egalax touchscreens have "application == HID_DG_TOUCHSCREEN" |
| 780 | * for the stylus. | 780 | * for the stylus. |
| 781 | * The check for mt_report_id ensures we don't process | ||
| 782 | * HID_DG_CONTACTCOUNT from the pen report as it is outside the physical | ||
| 783 | * collection, but within the report ID. | ||
| 781 | */ | 784 | */ |
| 782 | if (field->physical == HID_DG_STYLUS) | 785 | if (field->physical == HID_DG_STYLUS) |
| 783 | return 0; | 786 | return 0; |
| 787 | else if ((field->physical == 0) && | ||
| 788 | (field->report->id != td->mt_report_id) && | ||
| 789 | (td->mt_report_id != -1)) | ||
| 790 | return 0; | ||
| 784 | 791 | ||
| 785 | if (field->application == HID_DG_TOUCHSCREEN || | 792 | if (field->application == HID_DG_TOUCHSCREEN || |
| 786 | field->application == HID_DG_TOUCHPAD) | 793 | field->application == HID_DG_TOUCHPAD) |
