From: bugzilla-daemon@kernel.org
To: platform-driver-x86@vger.kernel.org
Subject: [Bug 221065] ideapad_acpi: unexpected charge_types spam on Yoga Pro 7 14ASP9
Date: Mon, 27 Apr 2026 12:34:31 +0000 [thread overview]
Message-ID: <bug-221065-215701-iJG0CYCUdi@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-221065-215701@https.bugzilla.kernel.org/>
https://bugzilla.kernel.org/show_bug.cgi?id=221065
--- Comment #70 from Rong Zhang (i@rong.moe) ---
(In reply to boite.pour.spam from comment #67)
> I've read all the comments above and I'm trying to understand how the broken
> ACPI tables would work on Windows. If there's a "deadlock" in the ACPI
> implementation,
How did you conclude that? No one had mentioned "deadlock". The issue is about:
#1. Errors in mutex acquisition are propagated blindly
#2. Some ACPI methods release a mutex owned by others
I think my conclusion is clear enough:
https://bugzilla.kernel.org/show_bug.cgi?id=221065#c33
> how does Windows works around it?
Just ask Microsoft and Lenovo.
TBH, comparing Linux to Windows in that way is hardly helpful. On Windows, the
ideapad ACPI methods are used by Lenovo Vantage (or something else), which is a
userspace program. It probably doesn't query charge types after power events,
but blindly assumes nothing has changed. It probably doesn't check ACPI return
values to see if they are insane, but propagates them blindly again. I don't
think "Windows works around it," as burying one's head in the sand works around
nothing.
> If I understand correctly, the solving options are:
> 1. Have Lenovo to fix the ACPI tables (which is very unlikely)
> 2. Implement a "live" ACPI fix with a DSDT override but it won't fix the bad
> releasing of the ACPI's mutex
Again, how did you conclude that? If you used an AI to "help" you understand
the thread, you probably chose the wrong AI.
The easiest thing to fix is, however, "bad releasing" (#2). Just delete or move
several lines of ASL code, and that's it.
But most of the issues here are caused by #1. It generates a lot of garbage
return values, and there's no easy way to distinguish them afterward. Every
method that recursively depends on ECMT must be rewritten, which means that not
only the DSDT, but also some SSDTs, need to be overridden.
I've almost said the same in
https://bugzilla.kernel.org/show_bug.cgi?id=221065#c41
> (but we can probably live with it, since,
> except for the dmesg noise, doesn't break anything)
The error messages generated by ideapad-laptop don't break anything either.
They're harmlessly noisy right after power events, but everything should work
well once the events settle.
> 3. Blacklist both usci_acpi and ideapad-laptop, so that there aren't any
> contender on the mutex anymore, but I'm not clear about what's lost when we
> do so?
It's usually OK to blacklist usci_acpi. Most Lenovo laptops have most USCI
commands stubbed to a certain extent, so they're hardly useful. The EC will
always handle USB-C events itself despite that.
You don't need to blacklist ideapad-laptop if you can live with harmless dmesg
noise.
--
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-04-27 12:34 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-09 7:50 [Bug 221065] New: ideapad_acpi: unexpected charge_types spam on Yoga Pro 7 14ASP9 bugzilla-daemon
2026-02-09 9:10 ` [Bug 221065] " bugzilla-daemon
2026-02-09 11:47 ` bugzilla-daemon
2026-02-09 12:06 ` [Bug 221065] New: " Rong Zhang
2026-02-09 12:11 ` [Bug 221065] " bugzilla-daemon
2026-02-10 17:56 ` bugzilla-daemon
2026-02-10 18:44 ` Rong Zhang
2026-02-10 17:56 ` bugzilla-daemon
2026-02-10 17:57 ` bugzilla-daemon
2026-02-10 18:49 ` bugzilla-daemon
2026-02-10 18:57 ` bugzilla-daemon
2026-02-10 18:58 ` bugzilla-daemon
2026-02-10 19:01 ` bugzilla-daemon
2026-02-10 19:17 ` bugzilla-daemon
2026-02-10 19:23 ` bugzilla-daemon
2026-02-10 19:25 ` bugzilla-daemon
2026-02-10 19:28 ` bugzilla-daemon
2026-02-10 21:20 ` bugzilla-daemon
2026-02-10 21:28 ` bugzilla-daemon
2026-02-10 21:30 ` bugzilla-daemon
2026-02-10 21:32 ` bugzilla-daemon
2026-02-10 21:39 ` bugzilla-daemon
2026-02-10 21:42 ` bugzilla-daemon
2026-02-10 21:43 ` bugzilla-daemon
2026-02-10 21:53 ` bugzilla-daemon
2026-02-11 14:13 ` bugzilla-daemon
2026-02-11 15:02 ` bugzilla-daemon
2026-02-11 15:03 ` bugzilla-daemon
2026-02-11 15:17 ` bugzilla-daemon
2026-02-11 15:17 ` bugzilla-daemon
2026-02-11 15:35 ` bugzilla-daemon
2026-02-11 15:41 ` bugzilla-daemon
2026-02-11 16:58 ` bugzilla-daemon
2026-02-11 17:32 ` bugzilla-daemon
2026-02-11 17:59 ` bugzilla-daemon
2026-02-11 18:04 ` bugzilla-daemon
2026-02-13 13:20 ` bugzilla-daemon
2026-02-13 13:22 ` bugzilla-daemon
2026-02-17 1:37 ` bugzilla-daemon
2026-02-17 1:59 ` bugzilla-daemon
2026-02-17 2:06 ` bugzilla-daemon
2026-02-17 2:32 ` bugzilla-daemon
2026-02-17 2:44 ` bugzilla-daemon
2026-02-17 2:44 ` bugzilla-daemon
2026-02-17 16:28 ` bugzilla-daemon
2026-03-02 10:56 ` bugzilla-daemon
2026-03-02 11:06 ` bugzilla-daemon
2026-03-02 13:45 ` bugzilla-daemon
2026-03-02 14:41 ` bugzilla-daemon
2026-03-02 16:24 ` bugzilla-daemon
2026-03-02 16:35 ` bugzilla-daemon
2026-03-04 18:25 ` bugzilla-daemon
2026-03-04 18:29 ` bugzilla-daemon
2026-03-09 9:19 ` bugzilla-daemon
2026-03-10 18:01 ` bugzilla-daemon
2026-03-24 10:41 ` bugzilla-daemon
2026-03-24 18:40 ` bugzilla-daemon
2026-03-24 18:48 ` bugzilla-daemon
2026-04-01 12:58 ` bugzilla-daemon
2026-04-01 13:35 ` bugzilla-daemon
2026-04-07 19:02 ` bugzilla-daemon
2026-04-11 18:12 ` bugzilla-daemon
2026-04-11 18:57 ` bugzilla-daemon
2026-04-24 22:09 ` bugzilla-daemon
2026-04-26 18:39 ` bugzilla-daemon
2026-04-26 18:43 ` bugzilla-daemon
2026-04-26 18:44 ` bugzilla-daemon
2026-04-26 18:50 ` bugzilla-daemon
2026-04-26 19:08 ` bugzilla-daemon
2026-04-26 19:21 ` bugzilla-daemon
2026-04-27 5:42 ` bugzilla-daemon
2026-04-27 11:50 ` bugzilla-daemon
2026-04-27 12:21 ` bugzilla-daemon
2026-04-27 12:34 ` bugzilla-daemon [this message]
2026-04-27 23:58 ` bugzilla-daemon
2026-04-28 9:01 ` bugzilla-daemon
2026-04-28 12:22 ` bugzilla-daemon
2026-04-30 9:30 ` bugzilla-daemon
2026-04-30 17:20 ` bugzilla-daemon
2026-05-14 17:39 ` bugzilla-daemon
2026-05-15 19:58 ` bugzilla-daemon
2026-05-15 22:09 ` bugzilla-daemon
2026-05-15 22:30 ` 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-221065-215701-iJG0CYCUdi@https.bugzilla.kernel.org/ \
--to=bugzilla-daemon@kernel.org \
--cc=platform-driver-x86@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.