All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tzung-Bi Shih <tzungbi@kernel.org>
To: Aaron Burton <aaron@infinitelytimeless.tech>
Cc: linux-kernel@vger.kernel.org, chrome-platform@lists.linux.dev
Subject: Re: cros_ec_lpcs breaking sleep mode on HP Elite Dragonfly
Date: Wed, 11 Mar 2026 06:25:14 +0000	[thread overview]
Message-ID: <abEKyqmZ51Ew-jNm@google.com> (raw)
In-Reply-To: <97301467-d7c1-411a-8575-ec3fa303d91d@infinitelytimeless.tech>

On Tue, Mar 10, 2026 at 08:12:04AM -0700, Aaron Burton wrote:
> Apologies for the late reply. I haven't tried using ectool, though I think
> someone may have found a solution in the driver code on a Github issue
> thread I started regarding this issue using MrChromebox's firmware, so I
> wanted to relay this to you to get your thoughts.
> 
> https://github.com/MrChromebox/firmware/issues/851#issuecomment-4029188293
> 
> They claim the cros_ec_lpcs driver sends a sleep event with a sleep timeout
> of 0ms while the EC interprets it as a 10-second timeout window, which seems
> to wake the machine due to the timeout being, well, 0ms. They have posted an
> example of an out-of-tree module that adjusts this timer as the adjustment
> had been removed from debugfs in kernel 6.12. I will be testing this soon
> and report back on results.

Thanks for providing the context.

To clarify:

- The EC_HOST_SLEEP_TIMEOUT_DEFAULT (i.e. 0ms) is to tell EC to use a
  default timeout value (i.e. 10ms).

- e8bf17d58a4d ("platform/chrome: cros_ec: Expose suspend_timeout_ms in
  debugfs") opens a door for tuning the value for debug or test purpose.
  It doesn't change the behavior.

- The debugfs "suspend_timeout_ms" is still in upstream linux.

Maybe it's worth checking if your firmware interprets
EC_HOST_SLEEP_TIMEOUT_DEFAULT the same way as ChromeOS EC firmware.

> 
> On 3/5/26 8:35 AM, Tzung-Bi Shih wrote:
> > On Tue, Mar 03, 2026 at 07:15:03PM -0800, Aaron Burton wrote:
> > > I'm reaching out in regards to an issue I've been trying to troubleshoot
> > > running Fedora (6.18.13-200.fc43.x86_64) on a HP Elite Dragonfly Chromebook.
> > > I'm aware this is not relevant to ChromeOS, but I was hoping maybe I could
> > > get some insight on this sleep mode issue I've been experiencing. This
> > > affects basically every Linux distro I've tested thus far, where if I put
> > > this Chromebook to sleep, it will immediately wake up. dmesg output when
> > > attempting sleep mode:
> > AFAIK, the EC drivers used in ChromeOS shouldn't diverge significantly from
> > the upstream kernel.
> > 
> > > 
> > > [ 1478.853982] PM: suspend entry (s2idle)
> > > [ 1478.876379] Filesystems sync: 0.022 seconds
> > > [ 1478.877848] Freezing user space processes
> > > [ 1478.885201] Freezing user space processes completed (elapsed 0.007
> > > seconds)
> > > [ 1478.885217] OOM killer disabled.
> > > [ 1478.885220] Freezing remaining freezable tasks
> > > [ 1478.886503] Freezing remaining freezable tasks completed (elapsed 0.001
> > > seconds)
> > > [ 1478.933986] PM: Some devices failed to suspend, or early wake event
> > > detected
> > > [ 1478.961519] PM: resume devices took 0.027 seconds
> > > [ 1478.961978] OOM killer enabled.
> > > [ 1478.961980] Restarting tasks: Starting
> > > [ 1478.963295] Restarting tasks: Done
> > > [ 1478.963339] random: crng reseeded on system resumption
> > > [ 1478.965350] PM: suspend exit
> > > 
> > > I've tried troubleshooting via /proc/acpi/wakeup by disabling each device
> > > enabled one by one, then eventually everything listed, and putting it to
> > > sleep via systemctl suspend, the machine still wakes up instantly without
> > > any user input. I eventually stumbled across what was causing the issue and
> > > it's related to the cros_ec_lpcs kernel driver as unloading the driver
> > > allowed it to sleep properly, though this also has unwanted side effects
> > > like the power LED no longer working and some issues with USB-C ports. I'd
> > > like to find a proper fix for this Chromebook EC in the kernel driver,
> > > though I don't have much experience debugging low-level kernel drivers. I'd
> > > be more than happy to provide any debugging data to try to fix this issue if
> > > possible.
> > I'm not sure if this helps, but a few ideas:
> > - You could increase the kernel log verbosity (e.g., print DEBUG level
> >    messages) to identify exactly which device failed to suspend.  It's likely
> >    one of the cros_ec_lpc subdevices.
> > - Have you checked if there are any relevant logs from the EC side (e.g.,
> >    via ectool)?

      parent reply	other threads:[~2026-03-11  6:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-04  3:15 cros_ec_lpcs breaking sleep mode on HP Elite Dragonfly Aaron Burton
2026-03-05 16:35 ` Tzung-Bi Shih
     [not found]   ` <97301467-d7c1-411a-8575-ec3fa303d91d@infinitelytimeless.tech>
2026-03-11  6:25     ` Tzung-Bi Shih [this message]

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=abEKyqmZ51Ew-jNm@google.com \
    --to=tzungbi@kernel.org \
    --cc=aaron@infinitelytimeless.tech \
    --cc=chrome-platform@lists.linux.dev \
    --cc=linux-kernel@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.