lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALNJtpV4WsknSSfBBer-MM0y_V=O5Fv2Lc3ei3heEyZwvR2rzQ@mail.gmail.com>
Date:   Mon, 17 Apr 2023 13:52:03 -0500
From:   Jonathan Denose <jdenose@...omium.org>
To:     lyude@...hat.com
Cc:     aduggan@...aptics.com, amandhoot12@...il.com,
        dmitry.torokhov@...il.com, jdenose@...gle.com,
        linux-input@...r.kernel.org, linux-kernel@...r.kernel.org,
        markpearson@...ovo.com, wsa+renesas@...g-engineering.com
Subject: Re: [PATCH v2] Input: synaptics - disable intertouch for Lenovo L440

Sorry, I thought I sent this as plain text but I think maybe not.
Trying once more, the message was:

I think that disabling synaptics_intertouch would resolve the issue
mentioned in the commit, but cause a regression in the functionality
that intertouch is supposed to bring, like three-finger gestures. I'm
attaching some of the logs that I captured when the touchpad was
failing on resume. I think the main culprit is
i2c_smbus_read_byte_data where the driver is unable to get the SMBus
version number. I get the following lines in dmesg:

[ 2869.745860] rmi4_smbus 0-002c: failed to get SMBus version number!
[ 2869.746060] rmi4_physical rmi4-00: rmi_driver_reset_handler: Failed
to read current IRQ mask.
[ 2869.746260] rmi4_f01 rmi4-00.fn01: Failed to restore normal operation: -6.
[ 2869.746262] rmi4_f01 rmi4-00.fn01: Resume failed with code -6.
[ 2869.746264] rmi4_physical rmi4-00: Failed to suspend functions: -6
[ 2869.746265] rmi4_smbus 0-002c: Failed to resume device: -6
[ 2869.746268] rmi4_smbus 0-002c: rmi_smb_resume+0x0/0x6b [rmi_smbus]
returned 0 after 549 usecs
[ 2869.746446] rmi4_physical rmi4-00: Failed to read irqs, code=-6

Any ideas on what might be causing this, only on resume from deep sleep?


On Mon, Apr 17, 2023 at 1:47 PM Jonathan Denose <jdenose@...omium.org> wrote:
>
> I think that disabling synaptics_intertouch would resolve the issue mentioned in the commit, but cause a regression in the functionality that intertouch is supposed to bring, like three-finger gestures. I'm attaching some of the logs that I captured when the touchpad was failing on resume. I think the main culprit is i2c_smbus_read_byte_data where the driver is unable to get the SMBus version number. I get the following lines in dmesg:
>
> [ 2869.745860] rmi4_smbus 0-002c: failed to get SMBus version number!
> [ 2869.746060] rmi4_physical rmi4-00: rmi_driver_reset_handler: Failed to read current IRQ mask.
> [ 2869.746260] rmi4_f01 rmi4-00.fn01: Failed to restore normal operation: -6.
> [ 2869.746262] rmi4_f01 rmi4-00.fn01: Resume failed with code -6.
> [ 2869.746264] rmi4_physical rmi4-00: Failed to suspend functions: -6
> [ 2869.746265] rmi4_smbus 0-002c: Failed to resume device: -6
> [ 2869.746268] rmi4_smbus 0-002c: rmi_smb_resume+0x0/0x6b [rmi_smbus] returned 0 after 549 usecs
> [ 2869.746446] rmi4_physical rmi4-00: Failed to read irqs, code=-6
>
> Any ideas on what might be causing this, only on resume from deep sleep?
>
>
> On Fri, Apr 14, 2023 at 11:41 AM Jonathan Denose <jdenose@...omium.org> wrote:
>>
>> When intertouch is enabled for the L440 a (deep)sleep/resume
>> cycle causes the touchpad driver to hang which causes the
>> touchpad to become unresponsive. Disable intertouch resolves
>> this issue and the touchpad is fine after resume from sleep.
>>
>> Additionally, when the PNP id for the L440 is only removed
>> from the topbuttonpad_pnp_ids list, a message is logged to
>> enable psmouse.synaptics_intertouch, which would cause the
>> sleep/resume issue again. By removing the PNP id from
>> topbutton_pnp_ids and then adding it to the
>> forcepad_pnp_ids array, intertouch is disabled and the
>> message is not logged.
>>
>> Signed-off-by: Jonathan Denose <jdenose@...gle.com>
>> ---
>>
>> Changes in v2:
>> - remove debug statement
>>
>>  drivers/input/mouse/synaptics.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
>> index fa021af8506e4..b7218b7652c20 100644
>> --- a/drivers/input/mouse/synaptics.c
>> +++ b/drivers/input/mouse/synaptics.c
>> @@ -150,7 +150,6 @@ static const char * const topbuttonpad_pnp_ids[] = {
>>         "LEN2001", /* Edge E431 */
>>         "LEN2002", /* Edge E531 */
>>         "LEN2003",
>> -       "LEN2004", /* L440 */
>>         "LEN2005",
>>         "LEN2006", /* Edge E440/E540 */
>>         "LEN2007",
>> @@ -198,6 +197,7 @@ static const char * const smbus_pnp_ids[] = {
>>  static const char * const forcepad_pnp_ids[] = {
>>         "SYN300D",
>>         "SYN3014",
>> +       "LEN2004", /* L440 */
>>         NULL
>>  };
>>
>> --
>> 2.39.2
>>

View attachment "dmesg_synaptics.txt" of type "text/plain" (143163 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ