{"push_id":660494563,"size":2,"distinct_size":1,"ref":"refs/heads/4.0/master","head":"c2801471588be0307e039b63580f2d1a8646ae30","before":"8db5f7fa95a8a96427e344c4603d5bdbabf89421","commits":[{"sha":"3684107cf944248edc6c76790366941a4f9f1c2a","author":{"email":"7a0e50e3f6a0939db82b6a8a423c08a163896f41@redhat.com","name":"Benjamin Tissoires"},"message":"Input - mt: Fix input_mt_get_slot_by_key\n\nThe case occurred recently with a touchscreen using twice a slot during a\nsingle EV_SYN event:\n\nE: 0.288415 0000 0000 0000      # ------------ SYN_REPORT (0) ----------\nE: 0.296207 0003 002f 0000      # EV_ABS / ABS_MT_SLOT          0\nE: 0.296207 0003 0039 -001      # EV_ABS / ABS_MT_TRACKING_ID   -1\nE: 0.296207 0003 002f 0001      # EV_ABS / ABS_MT_SLOT          1\nE: 0.296207 0003 0035 0908      # EV_ABS / ABS_MT_POSITION_X    908\nE: 0.296207 0003 0036 1062      # EV_ABS / ABS_MT_POSITION_Y    1062\nE: 0.296207 0003 002f 0000      # EV_ABS / ABS_MT_SLOT          0\nE: 0.296207 0003 0039 8787      # EV_ABS / ABS_MT_TRACKING_ID   8787\nE: 0.296207 0003 0035 1566      # EV_ABS / ABS_MT_POSITION_X    1566\nE: 0.296207 0003 0036 0861      # EV_ABS / ABS_MT_POSITION_Y    861\nE: 0.296207 0003 0000 0908      # EV_ABS / ABS_X                908\nE: 0.296207 0003 0001 1062      # EV_ABS / ABS_Y                1062\nE: 0.296207 0000 0000 0000      # ------------ SYN_REPORT (0) ----------\n\nThis occurred because while having already slots 0 and 1 assigned, the\ntouchscreen sent:\n\n0.293377 Tip Switch: 0 | Contact Id: 0 | X:  539 | Y: 1960 | Contact Count: 3\n0.294783 Tip Switch: 1 | Contact Id: 1 | X:  908 | Y: 1062 | Contact Count: 0\n0.296187 Tip Switch: 1 | Contact Id: 2 | X: 1566 | Y:  861 | Contact Count: 0\n\nSlot 0 is released correclty, but when we look for Contact ID 2, the slot\n0 is then picked up again because it is marked as inactive (trackingID < 0).\n\nThis is wrong, and we should not reuse a slot in the same frame.\nThe test should also check for input_mt_is_used().\n\nIn addition, we need to initialize mt->frame to an other value than 0.\nWith mt->frame being 0, all slots are tags as currently used, and so\ninput_mt_get_slot_by_key() would return -1 for all requests.\n\nFixes: https://bugs.freedesktop.org/show_bug.cgi?id=88903\n\nSigned-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>\nAcked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>","distinct":false,"url":"https://api.github.com/repos/zen-kernel/zen-kernel/commits/3684107cf944248edc6c76790366941a4f9f1c2a"},{"sha":"c2801471588be0307e039b63580f2d1a8646ae30","author":{"email":"4068f0880b399410602d694b3cc711c8a8f4727e@liquorix.net","name":"Steven Barrett"},"message":"Merge branch '4.0/synaptics-fix' into 4.0/master","distinct":true,"url":"https://api.github.com/repos/zen-kernel/zen-kernel/commits/c2801471588be0307e039b63580f2d1a8646ae30"}]}