From: Mathias Nyman <mathias.nyman@linux.intel.com>
To: Alan Stern <stern@rowland.harvard.edu>,
Greg KH <gregkh@linuxfoundation.org>
Cc: linux-usb@vger.kernel.org, stable@vger.kernel.org,
Mike Murdoch <main.haarp@googlemail.com>
Subject: Re: [PATCH 3/7] xhci: Don't suspend a xhci usb bus if there is a pending event.
Date: Thu, 07 Apr 2016 11:10:51 +0300 [thread overview]
Message-ID: <5706160B.9060902@linux.intel.com> (raw)
In-Reply-To: <Pine.LNX.4.44L0.1604061718330.15732-100000@netrider.rowland.org>
On 07.04.2016 00:25, Alan Stern wrote:
> On Wed, 6 Apr 2016, Greg KH wrote:
>
>> On Wed, Apr 06, 2016 at 04:08:04PM +0300, Mathias Nyman wrote:
>>> We don't want to runtime suspend a bus if there is an event pending.
>>> The roothub on a NEC uPD720200 host with a single USB3 device connected
>>> might go back to runtime suspend immediately after runtime resume as
>>> hub might not yet see any port changes in resume.
>>>
>>> Prevent this by checking if there is a unhandled event pending when
>>> calling runtime suspend.
>>
>> As Alan points out, you didn't actually test this :(
No, I couldn't trigger this case at all.
Patches 2/7 and 3/7 were based on logs of failing cases seen by Mike Murdoch
on hist NEC host. These two patches solved it for him.
I'm guessing patch 2/7 changed the situation enough to not trigger the 3/7
case anymore, and it was really never exercised.
http://marc.info/?l=linux-usb&m=145477850706552&w=2
But I got no excuses. I really should have spotted that lock.
I'm glad Alan found it.
>
> Also as Björn pointed out, failing a system suspend isn't a good idea.
> In general, you should do it only if wakeup is enabled and there is a
> pending wakeup event.
>
> In this case there may be alternatives. For example, you could just
> delay a few ms until the pending event has been handled. Or, if you
> really just want to prevent runtime suspend, you should check to see if
> this was a runtime suspend and not a system suspend. Or you could
> prevent the bus from being runtime suspended in the first place by
> doing a pm_runtime_get_sync().
I just want to prevent runtime suspend.
The pm_message_t msg is lost when hcd_bus_suspend() calls hcd->driver->bus_suspend(hcd).
Maybe it could be added?
Or is there some other easy way to figure out if it is runtime suspend?
-Mathias
next prev parent reply other threads:[~2016-04-07 8:04 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1459948088-27118-1-git-send-email-mathias.nyman@linux.intel.com>
2016-04-06 13:08 ` [PATCH 1/7] usb: xhci: applying XHCI_PME_STUCK_QUIRK to Intel BXT B0 host Mathias Nyman
2016-04-06 13:08 ` [PATCH 2/7] xhci: resume USB 3 roothub first Mathias Nyman
2016-04-06 13:08 ` [PATCH 3/7] xhci: Don't suspend a xhci usb bus if there is a pending event Mathias Nyman
2016-04-06 15:01 ` Alan Stern
2016-04-06 15:33 ` Bjørn Mork
2016-04-06 16:11 ` Alan Stern
2016-04-06 16:18 ` Bjørn Mork
2016-04-06 21:05 ` Greg KH
2016-04-06 21:25 ` Alan Stern
2016-04-07 8:10 ` Mathias Nyman [this message]
2016-04-07 14:23 ` Alan Stern
2016-04-08 10:16 ` Mathias Nyman
2016-04-06 13:08 ` [PATCH 4/7] usb: host: xhci: add a new quirk XHCI_NO_64BIT_SUPPORT Mathias Nyman
2016-04-06 13:08 ` [PATCH 5/7] usb: host: xhci-plat: fix cannot work if R-Car Gen2/3 run on above 4GB phys Mathias Nyman
2016-04-06 13:08 ` [PATCH 6/7] usb: xhci: fix wild pointers in xhci_mem_cleanup Mathias Nyman
2016-04-06 13:08 ` [PATCH 7/7] xhci: fix 10 second timeout on removal of PCI hotpluggable xhci controllers Mathias Nyman
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=5706160B.9060902@linux.intel.com \
--to=mathias.nyman@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-usb@vger.kernel.org \
--cc=main.haarp@googlemail.com \
--cc=stable@vger.kernel.org \
--cc=stern@rowland.harvard.edu \
/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.