Re: [PATCH v2 0/4] ACPI: SBS: Fix various issues

Armin Wolf
2023-03-12T17:15:34Z

Am 25.02.23 um 12:51 schrieb Armin Wolf:

> On my Acer Travelmate 4002WLMi, the system locks up upon
> suspend/shutdown. After a lot of research, it turned out
> that the sbs module was the culprit. The driver would not
> correctly mask out the value used to select a battery using
> the "Smart Battery Selector" (subset of the "Smart Battery Manager").
> This accidentally caused a invalid power source to be selected,
> which was automatically corrected by the selector. Upon
> notifing the host about the corrected power source, some batteries
> would be selected for re-reading, causing a endless loop.
> This would lead to some workqueues filling up, which caused the
> lockup upon suspend/shutdown.
>
> The first three patches fix a stacktrace on module removal caused
> by some locking issues. The last patch finally fixes the
> suspend/shutdown issues.
>
> As a side note: This was the first machine on which i installed Linux,
> to finally fixing this took ~5 years of tinkering.

What is the status of this patchset? Should i use a SRCU notifier chain
for the query notifiers? I would really like to see this getting fixed,
as it prevents me from using linux on this machine.

Armin Wolf

> ---
> Changes in v2:
> - make acpi_ec_add_query_handler() static to fix warning
>
> Armin Wolf (4):
> ACPI: EC: Add query notifier support
> ACPI: sbshc: Use ec query notifier call chain
> ACPI: EC: Make query handlers private
> ACPI: SBS: Fix handling of Smart Battery Selectors
>
> drivers/acpi/ec.c | 44 ++++++++++++++++++++--------------------
> drivers/acpi/internal.h | 10 ++++-----
> drivers/acpi/sbs.c | 27 ++++++++++++++++---------
> drivers/acpi/sbshc.c | 45 ++++++++++++++++++++++++++---------------
> 4 files changed, 74 insertions(+), 52 deletions(-)
>
> --
> 2.30.2
>
>