[PATCH 0/2][A/B/OEM] HID:Fix RayD touchscreen failure to resume from S3

Aaron Ma aaron.ma at canonical.com
Thu Jan 4 06:06:06 UTC 2018


[Impact]
Resume of S3 cause system hang on Lenovo laptops with RayD touchscreen.

[Fix]
RayD touchscreen issued corrupted data after it resume from suspend.
Then HID driver didn't handle the data well,
because of the data overflow then it made a call trace and hang.
Keep memset safe from corrupted data and add command to make RayD
touchscreen back to normal.
Then touchscreen works fine.

[Test Case]
Tested on ThinkPad L380, works fine with fixes.

[Regression Potential]
Low, keep the data in hid-core and i2c-hid more strictly.
Add specific device quirk in i2c-hid.

Aaron Ma (2):
  HID: core: i2c-hid: fix size check and type usage
  HID: i2c-hid: Fix resume issue on Raydium touchscreen device

 drivers/hid/hid-core.c        |  4 ++--
 drivers/hid/hid-ids.h         |  3 +++
 drivers/hid/i2c-hid/i2c-hid.c | 23 ++++++++++++++++++-----
 3 files changed, 23 insertions(+), 7 deletions(-)

-- 
2.14.3





More information about the kernel-team mailing list