Bug 83081

Summary: Synaptics Large Touch Screen doesn't send events - Dell XPS 13 9333
Product: Drivers Reporter: Gabriele Mazzotta (gabriele.mzt)
Component: Input DevicesAssignee: drivers_input-devices
Status: RESOLVED CODE_FIX    
Severity: normal CC: dmitry.torokhov, gabriele.mzt, rydberg
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: 3.17-rc1 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: Patch to force the device group of the touchscreen
patch for linus master
Alternative fix

Description Gabriele Mazzotta 2014-08-23 17:38:27 UTC
Created attachment 147871 [details]
Patch to force the device group of the touchscreen

The touchscreen is no longer working with 3.17-rc1. Only the first touch works.

The problem seems to be that both "input_mt_is_used(mt, slot)" and "input_mt_is_active(slot)" in drivers/hid/hid-multitouch.c are constantly true except for the first touch after the driver is loaded.
With 3.16 "input_mt_is_used(mt, slot)" is true only the first time the touchscreen is touched and then constantly false.

The patch attached makes the touchscreen work.
I wonder what is causing the different behavior. Is it possible that the touchscreen is not really Windows 8 certified? I honestly don't know how to verify it.

Here what lspci returns:
Bus 002 Device 002: ID 06cb:0af8 Synaptics, Inc.
Comment 1 Dmitry Torokhov 2014-08-25 17:17:21 UTC
Does reverting f8ec894945e7d205ce62be59e55e72c4304e4739 help? I think we should increment mt->frame++ unconditionally, not only when we are dropping unused events.
Comment 2 Gabriele Mazzotta 2014-08-25 18:27:17 UTC
Yes, reverting it helps.
Comment 3 Henrik Rydberg 2014-08-25 18:49:29 UTC
Created attachment 148131 [details]
patch for linus master
Comment 4 Henrik Rydberg 2014-08-25 18:50:23 UTC
Thanks Gabriele, and thanks Dmitry for the CC.

Does this patch help as well?

Henrik
Comment 5 Gabriele Mazzotta 2014-08-25 19:21:09 UTC
Yes, the patch solves the problem, thanks.
Comment 6 Dmitry Torokhov 2014-08-25 19:36:01 UTC
Created attachment 148151 [details]
Alternative fix

Henrik, here is a bit larger patch, but it avoids appearance of incrementing frame counter in only one branch. Gabriele, could yo uplease try this one as well? Thanks!
Comment 7 Gabriele Mazzotta 2014-08-25 19:43:26 UTC
Yes, also this alternative fix works. Thanks.
Comment 8 Henrik Rydberg 2014-08-25 20:11:01 UTC
Perfect. Dmitry, I like your patch better than mine.
Comment 9 Dmitry Torokhov 2014-08-25 21:47:27 UTC
Excellent, I'll add your reviewed-by/tested-by and send to Linus in next push then.