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

Open
#1,027 1 comment 0 reactions 3 assignees Claimed by @vnepogodin View on GitHub
bug
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.