Olivier Fock,

Thanks for your work on this, that is some excellent detective work.
Also good to know that the "incomplete report" errors are also happening
in a working setup.

The buttons starting to work after you updating the drivers/hid
directory is expected, I have done several fixes to the hid-mt button
handling, so I was already hoping that was fixed, but the other problem
was blocking testing this.

So now I think we need to figure out which change exactly between the
4.14-rc7 and 4.14-rc8 drivers/base directory is causing the problem. To
be clear are you talking vanilla 4.14-rc7 and 4.14-rc8 here, or Ubuntu
kernel builds.

Looking at your diff, one thing which you could try is reverting this in
your kernel / reapplying this fix from 4.14-rc8:

--- a/drivers/base/regmap/regmap.c      2018-05-16 10:10:32.000000000 +0200
+++ b/drivers/base/regmap/regmap.c      2017-10-29 21:58:38.000000000 +0100
@@ -1739,7 +1739,7 @@
                return -EINVAL;
        if (val_len % map->format.val_bytes)
                return -EINVAL;
-       if (map->max_raw_write && map->max_raw_write < val_len)
+       if (map->max_raw_write && map->max_raw_write > val_len)
                return -E2BIG;
 
        map->lock(map->lock_arg);

The fix which went into your 4.14-rc8 (I don't see this in the vanilla
4.14-rc8) is obviously correct, but it could be that this is allowing
some other driver to do something somewhere which is making the touchpad
not work.

Something else to try is to revert this commit:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/base?h=v4.14-rc7&id=0cc2b4e5a020fc7f4d1795741c116c983e9467d7

Which is in 4.17-rc7 but not in any later kernels, so your copying over
of the drivers/base dir from 4.17-rc7 adds that commit and it would be
interesting to see if dropping that commit from your special working
kernel makes it non working again.

Eventually a different version of that commit did go upstream:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=0759e80b84e34a84e7e46e2b1adb528c83d84a47

But that is slightly different, so perhaps the original fix happens to
somehow make the touchpad work.

Note there is no need to try reverting this commit if changing the
max_raw_write check breaks/unbreaks the touchpad, then that is likely
the cause and we need to debug further from there.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1728244

Title:
  Touchpad stops working after reboot on Apollo Lake

Status in Linux:
  Unknown
Status in linux package in Ubuntu:
  Triaged

Bug description:
  On the Jumper EZBook 3 Pro (V4) laptop, using an Apollo Lake N3450
  processor, if you install Ubuntu 17.10 (or less) with isorespin and
  use rEFInd as bootloader (this is the only way to get linux booting on
  this laptop) everything works out of the box, but after a reboot or
  two the touchpad stops working. Both in Ubuntu and Windows 10. The
  only way to restore functionality is to boot from usb key ubuntu 17.10
  respined, or disassemble laptop and detach-reattach battery cable.
  This is mesg | grep i2c_hid:

  
  [ 2056.460636] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report 
(27/34)
  [ 3077.604699] i2c_hid i2c-SYNA3602:00: failed to reset device.
  [ 3077.605473] dpm_run_callback(): i2c_hid_resume+0x0/0xe0 [i2c_hid] returns 
-61
  [ 3080.468156] i2c_hid i2c-SYNA3602:00: i2c_hid_get_input: incomplete report 
(27/34)

  
  uname -rvps
  Linux 4.10.0-32-generic #36~16.04.1-Ubuntu SMP Wed Aug 9 09:19:02 UTC 2017 
x86_64

  There has to be a bug in the kernel. Any way to avoid this?

To manage notifications about this bug go to:
https://bugs.launchpad.net/linux/+bug/1728244/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to