* [Bug 221142] New: ucsi_acpi actively breaks USB-C PD charging on Lenovo Legion Pro 7 (Arrow Lake)
@ 2026-02-25 23:03 bugzilla-daemon
2026-08-17 9:20 ` [Bug 221142] " bugzilla-daemon
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: bugzilla-daemon @ 2026-02-25 23:03 UTC (permalink / raw)
To: linux-usb
https://bugzilla.kernel.org/show_bug.cgi?id=221142
Bug ID: 221142
Summary: ucsi_acpi actively breaks USB-C PD charging on Lenovo
Legion Pro 7 (Arrow Lake)
Product: Drivers
Version: 2.5
Hardware: Intel
OS: Linux
Status: NEW
Severity: normal
Priority: P3
Component: USB
Assignee: drivers_usb@kernel-bugs.kernel.org
Reporter: alex@alstergee.com
Regression: No
The ucsi_acpi driver actively interferes with USB-C Power Delivery negotiation
on the Lenovo Legion Pro 7 16IAX10H (83F5, Intel Arrow Lake, BIOS Q7CN44WW).
Blacklisting ucsi_acpi completely fixes the issue — the EC's PD controller
negotiates correctly on its own.
SYSTEM:
- Lenovo Legion Pro 7 16IAX10H (product ID 83F5)
- Intel Core Ultra 9 275HX (Arrow Lake)
- BIOS Q7CN44WW (Nov 2025, latest available)
- Kernel 6.18.0
SYMPTOMS WITH ucsi_acpi LOADED:
- USB-C PD chargers connect briefly then drop after 1-3 minutes
- voltage_now always reads 0 in /sys/class/power_supply/ucsi-source-psy-*/
- usb_power_delivery_revision on partner reports 0.0 (should be 3.0)
- No source-capabilities PDO objects ever appear in sysfs
- GET_PDOS appears to return empty data from the EC
- GET_CONNECTOR_STATUS returns incomplete RDO
- Some chargers never establish a PD contract at all (Shargeek 100W: only 1.4W)
- Failed PD negotiations wedge the UCSI PPM — requires full reboot to recover
- ACPI workqueue warnings: "acpi_os_execute_deferred hogged CPU for >10000us"
RESULTS WITH ucsi_acpi BLACKLISTED:
- Shargeek 100W: 1.4W → 40-55W (full PD negotiation at proper voltage)
- Anker 65W: 5W → expected full power
- Barrel jack 330W: unaffected (70W, bypasses USB-C)
The EC's PD controller handles negotiation correctly without OS involvement.
The ucsi_acpi driver queries the broken UCSI mailbox and interferes with what
would otherwise be a working PD contract.
This is the same class of Lenovo EC firmware bug as:
- ThinkPad T14 Gen 5: https://github.com/fwupd/firmware-lenovo/issues/521
(Lenovo internal ticket LO-4169 — EC returns static/dummy RDO)
- Framework Laptop 16: PDOs read as 0x00000000 despite successful PD
negotiation
RELATED KERNEL PATCHES:
- Benson Leung, Dec 2025: Fix voltage_now/current_now for non-PD sources
https://lkml.org/lkml/2025/12/8/912
- Benson Leung, Dec 2025: Fix voltage/current max for non-Fixed PDOs
https://lkml.org/lkml/2025/12/8/913 (commit 6811e0a08bdc)
(These fix reporting but don't address the EC returning empty PDO data)
PROPOSED FIX:
The kernel could add a quirk for Lenovo platforms where the UCSI PPM is known
to return broken PDO data, either:
1. Skip GET_PDOS calls on affected platforms (let EC handle PD autonomously)
2. Add a module parameter to make ucsi_acpi passive/read-only
3. Detect empty GET_PDOS responses and back off instead of interfering
WORKAROUND:
echo "blacklist ucsi_acpi" > /etc/modprobe.d/blacklist-ucsi.conf
STEPS TO REPRODUCE:
1. Boot Lenovo Legion Pro 7 16IAX10H with kernel 6.18
2. Plug in any USB-C PD charger
3. Observe charging starts briefly then drops (BAT0/status → Discharging)
4. Check /sys/class/power_supply/ucsi-source-psy-*/voltage_now → always 0
5. Blacklist ucsi_acpi, reboot, plug charger → charges at full PD power
--
You may reply to this email to add a comment.
You are receiving this mail because:
You are watching the assignee of the bug.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug 221142] ucsi_acpi actively breaks USB-C PD charging on Lenovo Legion Pro 7 (Arrow Lake)
2026-02-25 23:03 [Bug 221142] New: ucsi_acpi actively breaks USB-C PD charging on Lenovo Legion Pro 7 (Arrow Lake) bugzilla-daemon
@ 2026-08-17 9:20 ` bugzilla-daemon
2026-08-26 2:33 ` bugzilla-daemon
2026-08-26 3:55 ` bugzilla-daemon
2 siblings, 0 replies; 4+ messages in thread
From: bugzilla-daemon @ 2026-08-17 9:20 UTC (permalink / raw)
To: linux-usb
https://bugzilla.kernel.org/show_bug.cgi?id=221142
Wei Huang (huangwei@kylinos.cn) changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |huangwei@kylinos.cn
--- Comment #1 from Wei Huang (huangwei@kylinos.cn) ---
Hi Alstergee,
Thanks for the detailed report, and for verifying that blacklisting
ucsi_acpi restores normal PD negotiation on this machine.
The cleanest way forward is a DMI quirk for this model in
drivers/usb/typec/ucsi/ucsi_acpi.c - there is already a quirk mechanism
there, used for a similar EC firmware problem on LG gram laptops. To
write the quirk, I need the exact DMI identification strings of the
machine, which are not part of the report.
Could you please attach the output of:
sudo dmidecode -t system
Alternatively, the contents of these files:
/sys/class/dmi/id/sys_vendor
/sys/class/dmi/id/product_name
/sys/class/dmi/id/product_version
/sys/class/dmi/id/product_family
/sys/class/dmi/id/product_sku
/sys/class/dmi/id/board_name
/sys/class/dmi/id/board_version
With that information I can prepare a patch and submit it upstream.
Thanks!
--
You may reply to this email to add a comment.
You are receiving this mail because:
You are watching the assignee of the bug.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug 221142] ucsi_acpi actively breaks USB-C PD charging on Lenovo Legion Pro 7 (Arrow Lake)
2026-02-25 23:03 [Bug 221142] New: ucsi_acpi actively breaks USB-C PD charging on Lenovo Legion Pro 7 (Arrow Lake) bugzilla-daemon
2026-08-17 9:20 ` [Bug 221142] " bugzilla-daemon
@ 2026-08-26 2:33 ` bugzilla-daemon
2026-08-26 3:55 ` bugzilla-daemon
2 siblings, 0 replies; 4+ messages in thread
From: bugzilla-daemon @ 2026-08-26 2:33 UTC (permalink / raw)
To: linux-usb
https://bugzilla.kernel.org/show_bug.cgi?id=221142
--- Comment #2 from Alstergee (alex@alstergee.com) ---
Hi Wei,
Thanks for picking this up! Here's the DMI information:
`sudo dmidecode -t system`:
Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: LENOVO
Product Name: 83F5
Version: Legion Pro 7 16IAX10H
Serial Number: <redacted>
UUID: <redacted>
Wake-up Type: Power Switch
SKU Number: LENOVO_MT_83F5_BU_idea_FM_Legion Pro 7 16IAX10H
Family: Legion Pro 7 16IAX10H
Contents of the requested `/sys/class/dmi/id/` files:
sys_vendor = LENOVO
product_name = 83F5
product_version = Legion Pro 7 16IAX10H
product_family = Legion Pro 7 16IAX10H
product_sku = LENOVO_MT_83F5_BU_idea_FM_Legion Pro 7 16IAX10H
board_name = LNVNB161216
board_version = SDK0T76461 WIN
Additional context that may be useful for matching:
bios_vendor = LENOVO
bios_version = Q7CN78WW
bios_date = 04/07/2026
board_vendor = LENOVO
chassis_vendor = LENOVO
chassis_type = 10 (Notebook)
The BIOS has been updated since I filed the report (Q7CN44WW -> Q7CN78WW,
April 2026). Symptoms are unchanged — ucsi_acpi still returns empty PDO
data and interferes with EC-side PD negotiation; blacklisting ucsi_acpi
still fully restores charging.
Also worth noting: the AMD variant of this laptop is DMI product 83RU
(Legion Pro 7 16AFR10H, BIOS prefix SMCN). It uses the same EC firmware
(ITE IT5508, EC ID 0x5508) and the community reports the same PD
negotiation failure there. It might be worth matching both product names
in the quirk if that's how the LG gram quirk is structured.
Currently running Ubuntu 26.04.1 LTS, kernel 7.0.0-30-generic.
Thanks,
Alex Bartz
eleso.app
FestivalWiFiGuys.com
Alstergee.com
[image: mobilePhone] +1 (801) 808-1498 <+1%20(801)%20808-1498>
[image: emailAddress] alex@alstergee.com <alex@festivalwifiguys.com>
CONFIDENTIAL & PRIVILEGED: This communication and any attachments may
contain information that is confidential, privileged, and/or exempt
from disclosure under applicable law. If you are not the intended
recipient, any review, use, dissemination, distribution, or copying is
strictly prohibited. If you received this in error, please notify the
sender immediately and permanently delete all copies.
On Mon, Aug 17, 2026 at 3:20 AM <bugzilla-daemon@kernel.org> wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=221142
>
> Wei Huang (huangwei@kylinos.cn) changed:
>
> What |Removed |Added
>
> ----------------------------------------------------------------------------
> CC| |huangwei@kylinos.cn
>
> --- Comment #1 from Wei Huang (huangwei@kylinos.cn) ---
> Hi Alstergee,
>
> Thanks for the detailed report, and for verifying that blacklisting
> ucsi_acpi restores normal PD negotiation on this machine.
>
> The cleanest way forward is a DMI quirk for this model in
> drivers/usb/typec/ucsi/ucsi_acpi.c - there is already a quirk mechanism
> there, used for a similar EC firmware problem on LG gram laptops. To
> write the quirk, I need the exact DMI identification strings of the
> machine, which are not part of the report.
>
> Could you please attach the output of:
>
> sudo dmidecode -t system
>
> Alternatively, the contents of these files:
>
> /sys/class/dmi/id/sys_vendor
> /sys/class/dmi/id/product_name
> /sys/class/dmi/id/product_version
> /sys/class/dmi/id/product_family
> /sys/class/dmi/id/product_sku
> /sys/class/dmi/id/board_name
> /sys/class/dmi/id/board_version
>
> With that information I can prepare a patch and submit it upstream.
>
> Thanks!
>
> --
> You may reply to this email to add a comment.
>
> You are receiving this mail because:
> You are on the CC list for the bug.
> You reported the bug.
--
You may reply to this email to add a comment.
You are receiving this mail because:
You are watching the assignee of the bug.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug 221142] ucsi_acpi actively breaks USB-C PD charging on Lenovo Legion Pro 7 (Arrow Lake)
2026-02-25 23:03 [Bug 221142] New: ucsi_acpi actively breaks USB-C PD charging on Lenovo Legion Pro 7 (Arrow Lake) bugzilla-daemon
2026-08-17 9:20 ` [Bug 221142] " bugzilla-daemon
2026-08-26 2:33 ` bugzilla-daemon
@ 2026-08-26 3:55 ` bugzilla-daemon
2 siblings, 0 replies; 4+ messages in thread
From: bugzilla-daemon @ 2026-08-26 3:55 UTC (permalink / raw)
To: linux-usb
https://bugzilla.kernel.org/show_bug.cgi?id=221142
--- Comment #3 from Wei Huang (huangwei@kylinos.cn) ---
Hi Alstergee,
Thanks for the detailed DMI info - and for the note about the AMD
sibling (83RU). I've kept the quirk to 83F5 for now, since the failure
is only confirmed on your model; 83RU can be added once someone
confirms it there.
A patch has been submitted to the linux-usb mailing list:
usb: typec: ucsi: do not register UCSI on Lenovo Legion Pro 7 16IAX10H
https://lore.kernel.org/linux-usb/20260826034658.2170407-1-huangwei@kylinos.cn/
It adds a DMI quirk that makes ucsi_acpi skip binding on this model,
which is functionally the same as the blacklist workaround you already
verified - the module can stay loaded, but it will not touch the EC's
UCSI mailbox.
If you have a chance to test it (build a kernel with the patch applied,
make sure ucsi_acpi is no longer blacklisted, and reboot), the
confirmation I'd need is:
- a dmesg line like:
ucsi_acpi USBC000:00: UCSI implementation in firmware is broken,
ignoring
- normal PD charging restored (voltage_now non-zero, chargers hold).
If that works, it would help to have a formal Tested-by tag from you,
which lets the subsystem maintainer pick the fix up directly. Just reply
with:
Tested-by: Alex Bartz <alex@alstergee.com>
Thanks again for the quick and thorough help!
--
You may reply to this email to add a comment.
You are receiving this mail because:
You are watching the assignee of the bug.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-08-26 3:55 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-25 23:03 [Bug 221142] New: ucsi_acpi actively breaks USB-C PD charging on Lenovo Legion Pro 7 (Arrow Lake) bugzilla-daemon
2026-08-17 9:20 ` [Bug 221142] " bugzilla-daemon
2026-08-26 2:33 ` bugzilla-daemon
2026-08-26 3:55 ` bugzilla-daemon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox