From: bugzilla-daemon@kernel.org
To: linux-usb@vger.kernel.org
Subject: [Bug 221776] HP OmniBook X Flip - Broken UCSI firmware / Slow charging
Date: Tue, 21 Jul 2026 18:30:50 +0000 [thread overview]
Message-ID: <bug-221776-208809-vRhNVacAT4@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-221776-208809@https.bugzilla.kernel.org/>
https://bugzilla.kernel.org/show_bug.cgi?id=221776
--- Comment #1 from David Del Sol (daviddelsol1998@gmail.com) ---
From: David <david@david-desktop>
Date: Tue, 21 Jul 2026 11:30:00 -0500
Subject: [PATCH] usb: typec: ucsi: Skip UCSI on HP OmniBook X Flip (broken EC
firmware)
The HP OmniBook X Flip (Ryzen AI 5 340) has a non-compliant UCSI
firmware in the embedded controller. The EC rejects all write/control
UCSI commands (SET_NOTIFICATION_ENABLE, PPM_RESET, etc.) while
accepting only read-only commands (GET_*). This causes the UCSI
subsystem to eventually corrupt the EC state, resulting in USB PD
negotiation falling back to 5V (only ~2W charging instead of 65W).
Add a DMI-based quirk to prevent the ucsi_acpi driver from binding
to this hardware. Use NULL driver_data to signal "broken firmware,
skip UCSI entirely".
The user-visible symptom is that with a 65W USB-C PD charger, the
battery charges at 2W instead of 25-30W after the first UCSI command
exchange. The workaround (removing this driver) has been verified
on multiple charge cycles.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=XXXXX
Signed-off-by: David <david@david-desktop>
---
diff --git a/drivers/usb/typec/ucsi/ucsi_acpi.c
b/drivers/usb/typec/ucsi/ucsi_acpi.c
index 5b7d00907e39..c9bdeb110974 100644
--- a/drivers/usb/typec/ucsi/ucsi_acpi.c
+++ b/drivers/usb/typec/ucsi/ucsi_acpi.c
@@ -79,6 +79,17 @@ static const struct dmi_system_id ucsi_acpi_quirks[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "90Q"),
},
.driver_data = (void *)&ucsi_gram_ops,
+ },
+ {
+ /*
+ * HP OmniBook X Flip has broken UCSI firmware that rejects all
+ * control commands (SET_NOTIFICATION_ENABLE, PPM_RESET, etc.).
+ * Skip UCSI to avoid corrupting EC state and losing PD
negotiation.
+ */
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "HP"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "HP OmniBook X Flip Laptop
16-ar0xxx"),
+ },
},
{ }
};
@@ -213,6 +224,11 @@ static int ucsi_acpi_probe(struct platform_device *pdev)
ua->dev = &pdev->dev;
id = dmi_first_match(ucsi_acpi_quirks);
+ if (id && !id->driver_data) {
+ dev_info(&pdev->dev, "broken UCSI firmware, skipping
driver\n");
+ return -ENODEV;
+ }
if (id)
ops = id->driver_data;
--
You may reply to this email to add a comment.
You are receiving this mail because:
You are watching the assignee of the bug.
next prev parent reply other threads:[~2026-07-21 18:30 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-21 18:27 [Bug 221776] New: HP OmniBook X Flip - Broken UCSI firmware / Slow charging bugzilla-daemon
2026-07-21 18:30 ` bugzilla-daemon [this message]
2026-07-22 5:29 ` [Bug 221776] " Greg KH
2026-07-22 5:29 ` bugzilla-daemon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bug-221776-208809-vRhNVacAT4@https.bugzilla.kernel.org/ \
--to=bugzilla-daemon@kernel.org \
--cc=linux-usb@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.