New: Infinite udev uevent stream from USB-C port
https://bugzilla.kernel.org/show_bug.cgi?id=219626
Bug ID: 219626
Summary: Infinite udev uevent stream from USB-C port
Product: Drivers
Version: 2.5
Hardware: Intel
OS: Linux
Status: NEW
Severity: normal
Priority: P3
Component: USB
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Regression: Yes
Bisected fa48d7e81624efdf398b990a9049e9cd75a5aead
commit-id:Created attachment 307397
--> https://bugzilla.kernel.org/attachment.cgi?id=307397&action=edit
udevadm monitor output
After updating to 6.12.5 from 6.12.4 systemd-udevd worker burns CPU processing an infinite stream of USB-C events. In order to reproduce I have to plug off the USB cable and plug it in again. I tried 6.12.6 kernel with the same buggy result. The problem disappears after going back to 6.12.4.
My machine is an ASUS Zenbook UM5302TA laptop.
Reverting this commit fixes the issue:
commit c0ca6fd5f6ebde8fc0df8bb5c32629d1284f60d0
Author: Saranya Gopal <[email protected]> Date: Fri Aug 30 14:13:42 2024 +0530
usb: typec: ucsi: Do not call ACPI _DSM method for UCSI read operations
[ Upstream commit fa48d7e81624efdf398b990a9049e9cd75a5aead ]
ACPI _DSM methods are needed only for UCSI write operations and for reading CCI during RESET_PPM operation. So, remove _DSM calls from other places. While there, remove the Zenbook quirk also since the default behavior now aligns with the Zenbook quirk. With this change, GET_CONNECTOR_STATUS returns at least 6 seconds faster than before in Arrowlake-S platforms.
Signature · 4 lines
You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.
[Bug 219626] Infinite udev uevent stream from USB-C port
https://bugzilla.kernel.org/show_bug.cgi?id=219626
--- Comment #1 from Marcin Bachry ([email protected]) --- Here's a minimal revert required to fix the issue:
Quoted 19 lines
drivers/usb/typec/ucsi/ucsi_acpi.c +3
-5@@ -61,11 +61,9 @@ static int ucsi_acpi_read_cci(struct ucsi *ucsi, u32 *cci)struct ucsi_acpi *ua =ucsi_get_drvdata (ucsi);int ret; -if (UCSI_COMMAND (ua->cmd) ==UCSI_PPM_RESET ) { - ret =ucsi_acpi_dsm (ua,UCSI_DSM_FUNC_READ ); -if (ret) -return ret; - } + ret =ucsi_acpi_dsm (ua,UCSI_DSM_FUNC_READ ); +if (ret) +return ret;memcpy (cci, ua->base +UCSI_CCI ,sizeof (*cci));
Signature · 4 lines
You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.
[Bug 219626] Infinite udev uevent stream from USB-C port
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=219626
--- Comment #2 from Marcin Bachry ([email protected]) --- Created attachment 307441
--> https://bugzilla.kernel.org/attachment.cgi?id=307441&action=edit
minimal reverting change
Signature · 4 lines
You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.