diff options
author | Leonard König | 2016-02-17 00:00:17 +0100 |
---|---|---|
committer | Leonard König | 2016-02-17 00:00:17 +0100 |
commit | aeb44e3a8c73aeee2c0c4ce52e183a15ffc0b365 (patch) | |
tree | a13be00b84293f94d6d566080c51eca69b989d85 /0001-4.4-fix-elan.patch | |
parent | 652a55e72878640107f27d75afcd5a7900f20c58 (diff) | |
download | aur-aeb44e3a8c73aeee2c0c4ce52e183a15ffc0b365.tar.gz |
elanfix
Diffstat (limited to '0001-4.4-fix-elan.patch')
-rw-r--r-- | 0001-4.4-fix-elan.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/0001-4.4-fix-elan.patch b/0001-4.4-fix-elan.patch new file mode 100644 index 000000000000..36f1c2d3f83d --- /dev/null +++ b/0001-4.4-fix-elan.patch @@ -0,0 +1,30 @@ +diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c +index 3d664d0..2b8ff18 100644 +--- a/drivers/hid/hid-multitouch.c ++++ b/drivers/hid/hid-multitouch.c +@@ -357,8 +357,19 @@ static void mt_feature_mapping(struct hid_device *hdev, + break; + } + +- td->inputmode = field->report->id; +- td->inputmode_index = usage->usage_index; ++ if (td->inputmode < 0) { ++ td->inputmode = field->report->id; ++ td->inputmode_index = usage->usage_index; ++ } else { ++ /* ++ * Some elan panels wrongly declare 2 input mode ++ * features, and silently ignore when we set the ++ * value in the second field. Skip the second feature ++ * and hope for the best. ++ */ ++ dev_info(&hdev->dev, ++ "Ignoring the extra HID_DG_INPUTMODE\n"); ++ } + + break; + case HID_DG_CONTACTMAX: +-- +2.5.0 + + |