CachyOS / CachyOS/linux-cachyos
[Bug]: Kernel oops / crash in raydium_i2c_irq on first touch (Lenovo ThinkPad T14 Gen 2i) — linux-cachyos 7.1.8-1
- Dominant language
- Shell
- Stars
- 4.5k
- Forks
- 160
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 1
Description
### Package name
linux-cachyos 7.1.8-1
### Package version
7.1.8-1
### Issue type
Other
### Description
The touchscreen (Raydium raydium_i2c_ts) initializes correctly at boot and registers as an input device, but the kernel crashes with a NULL/invalid pointer dereference inside raydium_i2c_irq() the first time a touch interrupt fires. The fault recovery itself triggers a second, more severe oops (attempted execution of a non-executable page), after which the kernel logs "Fixing recursive fault but reboot is needed!" and the touch input device disappears (no longer listed in libinput list-devices / xinput list).
This worked correctly under a previous Ubuntu install on the same hardware, so this appears to be a regression specific to this kernel build rather than a hardware/firmware issue.
### Steps to reproduce
1. Boot linux-cachyos 7.1.8-1 on the affected hardware.
2. Confirm touchscreen registers: dmesg | grep -i raydium shows input: Raydium
3.Touchscreen as ...input10.
4. Touch the screen.
5. Kernel oops occurs immediately in raydium_i2c_irq.
6. Touch device no longer appears in libinput list-devices / xinput list for the remainder of the session.
### Relevant logs or error output
```shell
[ 25.438319] RIP: 0010:raydium_i2c_irq+0x138/0x370 [raydium_i2c_ts]
[ 25.438334] Code: e5 e2 48 98 49 39 c6 0f 85 f0 00 00 00 4d 01 e5 44 01 e3 4d 29 e7 0f 85 36 ff ff ff 4c 8b 6c 24 08 49 8b 4d 50 41 0f b6 45 5c <44> 0f b7 04 01 48 85 c0 74 0f 89 c2 83 e2 07 3c 08 73 0d 31 ff 31
[ 25.438339] RSP: 0018:ffffcb7580fefde0 EFLAGS: 00010246
[ 25.438344] RAX: 00000000000000fe RBX: ffff8a4fc2d07f80 RCX: 0000000000000010
[ 25.438348] RDX: 0000000000000000 RSI: ffff8a4fda3066f8 RDI: 000000000000003d
[ 25.438351] RBP: ffffcb7580fefe68 R08: 0000000000000000 R09: 0000000000000100
[ 25.438355] R10: 0000000000000100 R11: ffffffffc05d8ad0 R12: ffff8a4fcd4fe900
[ 25.438358] R13: ffff8a4fda3066f8 R14: ffff8a4fcd4fe800 R15: 0000000000000000
[ 25.438361] FS: 0000000000000000(0000) GS:ffff8a5562045000(0000) knlGS:0000000000000000
[ 25.438365] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 25.438369] CR2: 000000000000010e CR3: 00000002dc012006 CR4: 0000000000f72ef0
[ 25.438373] PKRU: 55555554
[ 25.438375] Call Trace:
[ 25.438379]
[ 25.438386] ? __pfx_irq_thread_fn+0x10/0x10
[ 25.438396] irq_thread_fn+0x24/0x50
[ 25.438405] irq_thread+0x20e/0x270
[ 25.438410] ? __pfx_irq_thread_dtor+0x10/0x10
[ 25.438417] ? __pfx_irq_thread+0x10/0x10
[ 25.438425] kthread+0xfb/0x120
[ 25.438432] ? __pfx_kthread+0x10/0x10
[ 25.438437] ret_from_fork+0xec/0x2a0
[ 25.438446] ? __pfx_kthread+0x10/0x10
[ 25.438451] ret_from_fork_asm+0x1a/0x30
[ 25.438459]
```
### CachyOS bug report
Just before the crash, dmesg shows: raydium_ts i2c-RAYD0001:00: supply avdd not found, using dummy regulator and the same for vccio. Not certain if related, but Raydium touch controllers are known upstream to be sensitive to power/reset sequencing (see Ubuntu bug 1792309 re: Raydium IRQ storms after suspend/resume, fixed by using power-on instead of i2c reset on resume). This crash is more severe than an IRQ storm, but may share a root cause in power-state/reset handling.
Unrelated but present in the same boot log, possibly worth noting separately: repeating ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PC00.RP09.PEGP.DDNT], AE_NOT_FOUND — likely a separate firmware/ACPI table issue, not thought to be the cause of the touch crash, but included for completeness.
### Additional context
Just before the crash, dmesg shows: raydium_ts i2c-RAYD0001:00: supply avdd not found, using dummy regulator and the same for vccio. Not certain if related, but Raydium touch controllers are known upstream to be sensitive to power/reset sequencing (see Ubuntu bug 1792309 re: Raydium IRQ storms after suspend/resume, fixed by using power-on instead of i2c reset on resume). This crash is more severe than an IRQ storm, but may share a root cause in power-state/reset handling.
Unrelated but present in the same boot log, possibly worth noting separately: repeating ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PC00.RP09.PEGP.DDNT], AE_NOT_FOUND — likely a separate firmware/ACPI table issue, not thought to be the cause of the touch crash, but included for completeness.
Contributor guide
Assessment
This issue has not been assessed yet.