[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CABscksPKS1prbikpF4FwoTLMvxN13_xrQfdXoXDnbo-4byUB6A@mail.gmail.com>
Date: Mon, 13 Jan 2025 16:14:07 +0800
From: "Yo-Jung (Leo) Lin" <leo.lin@...onical.com>
To: Alan Stern <stern@...land.harvard.edu>
Cc: gregkh@...uxfoundation.org, rafael@...nel.org, pavel@....cz,
len.brown@...el.com, bhelgaas@...gle.com, duanchenghao@...inos.cn,
dlemoal@...nel.org, linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-pm@...r.kernel.org, hdegoede@...hat.com
Subject: Re: [PATCH] USB: Prevent xhci from resuming root hub during suspend entrance
Hi Alan
On Fri, Jan 10, 2025 at 11:44 PM Alan Stern <stern@...land.harvard.edu> wrote:
>
> On Fri, Jan 10, 2025 at 04:44:10PM +0800, Yo-Jung (Leo) Lin wrote:
> > The commit d9b4067aef50 ("USB: Fix the issue of task recovery failure
> > caused by USB status when S4 wakes up") fixed an issue where if an USB
> > port change happens during the entering steps of hibernation, xhci driver
> > would attempt to resume the root hub, making the hibernation fail.
> >
> > System-wide suspend may fail due to the same reason, but this hasn't been
> > addressed yet. This has been found on HP ProOne 440[1], as well as on
> > some newer Dell all-in-one models. When suspend fails due to this reason,
> > the kernel would show the following messages:
>
> I believe this problem was discussed on the mailing list before, and it
> turned out that the issue was caused by a bug in the xhci-hcd driver,
> not a bug in the USB core.
Could you be more specific on which bug/thread it is?
If you were mentioning thread about d9b4067aef50 ("USB: Fix the
issue of task recovery failure caused by USB status when S4 wakes up"),
the log in that commit message suggests that it happened on ehci, while
here it happened on xhci. So this may be more general than just the xhci.
>
> Basically, suspend is _supposed_ to fail if a wakeup event occurs while
> the suspend is in progress. As I recall, the bug in xhci-hcd was that
> it treats some non-wakeup events as if they were wakeup events.
>
> In particular, a port change on the root hub should be treated as a
> wakeup event if and only if the root hub is enabled for wakeup. Does
> xhci-hcd check for this before failing the suspend?
>
> This reasoning shows that your proposed fix is incorrect.
>
Thanks for the feedback, This indeed isn't a correct way to address this.
Will try to figure out some other ways.
> Alan Stern
Best,
Leo
Powered by blists - more mailing lists