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>] [day] [month] [year] [list]
Message-ID: <c56af12c-8964-4a76-bc6d-3e520e14a3c0@apevzner.com>
Date: Mon, 3 Feb 2025 18:58:37 +0300
From: Alexander Pevzner <pzz@...vzner.com>
To: linux-i2c@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: temaps@...il.com, m.novosyolov@...a.ru, a.sudakov@...a.ru
Subject: On 6.12.x kernels I2C dies on the Intel i5-1235U CPU based notebook
 (KVADRA NAU LE14U)

Hi!

On the KVADRA NAU LE14U notebook, the I2C subsystem stops functioning 
after a period of inactivity (10-30 minutes).

The notebook is equipped with an Intel i5-1235U CPU, four Intel 
Corporation Alder Lake PCH Serial IO I2C controllers, and a SYNA3602 
touchpad connected via the I2C serial bus.

After some idle time, the following lines appear in the kernel log:

-----
RSP: 0018:ffffa7d5001b7e80 EFLAGS: 00000246
RAX: ffff93ab5f700000 RBX: ffff93ab5f761738 RCX: 000000000000001f
RDX: 0000000000000002 RSI: 0000000033483483 RDI: 0000000000000000
RBP: 0000000000000001 R08: 000004c7d586da52 R09: 0000000000000007
R10: 000000000000002a R11: ffff93ab5f744f04 R12: ffffffffb964fe60
R13: 000004c7d586da52 R14: 0000000000000001 R15: 0000000000000000
  cpuidle_enter+0x2d/0x40
  do_idle+0x1ad/0x210
  cpu_startup_entry+0x29/0x30
  start_secondary+0x11e/0x140
  common_startup_64+0x13e/0x141
  </TASK>
handlers:
[<00000000fa02aea8>] idma64_irq [idma64]
[<00000000d22a6968>] i2c_dw_isr
Disabling IRQ #27
-----

After this, the touchpad connected via I2C stops working.

This issue occurs on ROSA Linux with kernel version 6.12.10 and Fedora 
41 with kernel version 6.12.11, but it does not occur on Fedora with 
kernel version 6.11.4.

According to the following discussion, it also reproduces on Arch Linux 
with kernel version 6.12.8:

https://bbs.archlinux.org/viewtopic.php?id=302348

Although the notebook branding mentioned in that discussion is different 
(MONSTER HUMA H4 V5.2), the hardware configuration appears to be similar.

It seems that the problem is not specific to any particular distribution 
and is related to the 6.12.* versions of the kernel.

We also have a simple workaround module that resolves the issue by 
installing a shared interrupt handler for all IRQs owned by I2C. This 
handler does nothing but return IRQ_HANDLED, effectively preventing the 
kernel from disabling this interrupt as spurious.

The source code for this module is available here:

https://github.com/alexpevzner/hotfix-kvadra-touchpad

When this module is loaded, the notebook operates very stably; the I2C 
(touchpad) functions reliably, and the interrupt rate appears reasonable 
(around 400 interrupts per second when the touchpad is active).

-- 

	Wishes, Alexander Pevzner (pzz@...vzner.com)


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ