Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 930633 Details for
Bug 1123584
Touchpad on Dell xps 13 9333 jumps to left bottom corner occasionally since 3.15
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
0001-HID-rmi-check-sanity-of-the-incoming-report.patch
0001-HID-rmi-check-sanity-of-the-incoming-report.patch (text/plain), 2.63 KB, created by
Benjamin Tissoires
on 2014-08-25 20:24:06 UTC
(
hide
)
Description:
0001-HID-rmi-check-sanity-of-the-incoming-report.patch
Filename:
MIME Type:
Creator:
Benjamin Tissoires
Created:
2014-08-25 20:24:06 UTC
Size:
2.63 KB
patch
obsolete
>From 07382bbebdf5be76ed720689ea6ec2c7d2762b88 Mon Sep 17 00:00:00 2001 >From: Benjamin Tissoires <benjamin.tissoires@redhat.com> >Date: Mon, 25 Aug 2014 16:19:42 -0400 >Subject: [PATCH] HID: rmi: check sanity of the incoming report > >In the Dell XPS 13 9333, it appears that sometimes the bus get confused >and corrupts the incoming data. It fills the input report with the >sentinel value "ff". Synaptics told us that such behavior does not comes >from the touchpad itself, so we filter out such reports here. > >Unfortunately, we can not simply discard the incoming data because they >may contain useful information. Most of the time, the misbehavior is >quite near the end of the report, so we can still use the valid part of >it. > >Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> >--- > drivers/hid/hid-rmi.c | 31 ++++++++++++++++++++++++++----- > 1 file changed, 26 insertions(+), 5 deletions(-) > >diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c >index 0dc2514..764ab0b 100644 >--- a/drivers/hid/hid-rmi.c >+++ b/drivers/hid/hid-rmi.c >@@ -320,9 +320,6 @@ static int rmi_f11_input_event(struct hid_device *hdev, u8 irq, u8 *data, > int offset; > int i; > >- if (size < hdata->f11.report_size) >- return 0; >- > if (!(irq & hdata->f11.irq_mask)) > return 0; > >@@ -332,9 +329,13 @@ static int rmi_f11_input_event(struct hid_device *hdev, u8 irq, u8 *data, > int fs_bit_position = (i & 0x3) << 1; > int finger_state = (data[fs_byte_position] >> fs_bit_position) & > 0x03; >+ int position = offset + 5 * i; >+ >+ if (position + 5 > size) >+ /* partial report, go on with what we received */ >+ break; > >- rmi_f11_process_touch(hdata, i, finger_state, >- &data[offset + 5 * i]); >+ rmi_f11_process_touch(hdata, i, finger_state, &data[position]); > } > input_mt_sync_frame(hdata->input); > input_sync(hdata->input); >@@ -412,9 +413,29 @@ static int rmi_read_data_event(struct hid_device *hdev, u8 *data, int size) > return 1; > } > >+static int rmi_check_sanity(struct hid_device *hdev, u8 *data, int size) >+{ >+ int valid_size = size; >+ /* >+ * On the Dell XPS 13 9333, the bus sometimes get confused and fills >+ * the report with a sentinel value "ff". Synaptics told us that such >+ * behavior does not comes from the touchpad itself, so we filter out >+ * such reports here. >+ */ >+ >+ while ((data[valid_size - 1] == 0xff) && valid_size > 0) >+ valid_size--; >+ >+ return valid_size; >+} >+ > static int rmi_raw_event(struct hid_device *hdev, > struct hid_report *report, u8 *data, int size) > { >+ size = rmi_check_sanity(hdev, data, size); >+ if (size < 2) >+ return 0; >+ > switch (data[0]) { > case RMI_READ_DATA_REPORT_ID: > return rmi_read_data_event(hdev, data, size); >-- >2.1.0 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 1123584
:
921910
|
921911
| 930633