linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ivan Mironov <mironov.ivan@gmail.com>
To: Mathias Nyman <mathias.nyman@linux.intel.com>,
	Eric Blau <eblau@eblau.com>
Cc: Alan Stern <stern@rowland.harvard.edu>, linux-usb@vger.kernel.org
Subject: [regression] USB power management failure to suspend / high CPU usage
Date: Tue, 26 Feb 2019 03:11:03 +0500	[thread overview]
Message-ID: <c5e3b6a3b273fefbe662b784f59abcdf32ecb518.camel@gmail.com> (raw)

On Wed, 2019-02-20 at 19:28 +0200, Mathias Nyman wrote:
> On 14.2.2019 20.04, Eric Blau wrote:
> > On Thu, Feb 14, 2019 at 9:56 AM Mathias Nyman
> > <mathias.nyman@linux.intel.com> wrote:
> > > > Thanks for looking into this, Mathias. Now that you point this out, on
> > > > older kernels where suspend and resume works, I noticed the following
> > > > log messages emitted when resuming from suspend:
> > > > 
> > > > Feb 06 18:58:05 eric-macbookpro kernel: usb usb2-port3: Cannot enable.
> > > > Maybe the USB cable is bad?
> > > 
> > > Attached a testpatch that should react to ports stuck in polling state,
> > > and warm reset them.
> > > 
> > > It doesn't limit the numbers of reset tries, or allow system suspend with ports
> > > stuck in polling state, but I'd like to know how the MacBook reacts to it
> > > 
> > > Can you test it with debugging enabled?
> > 
> > Hi Mathias,
> > 
> > Thanks for the patch. I tested it against 4.20.8 and got a couple
> > successful suspends but on the third attempt I got the same failure
> > again. I noticed after the first suspend/resume, the card reader
> > showed as "Link:Compliance" but on later attempts it showed stuck in
> > Polling again.
> > 
> > I've attached the logs with debugging enabled.
> > 
> 
> Thanks, logs show that several resets won't recover the card reader.
> 
> I'm taking a different approach, USB3 ports in polling state should
> automatically move to connected/enabled. So instead of preventing
> suspend if a port is found in polling I'll let it try to finish link
> training for some time, and then just continue with suspend if it fails.
> 
> Patch attached.
> 
> This won't fix the broken card reader, but should allow your MacBook to suspend.
> After this we can start looking at fixing the card reader, Ivan Miranov sent some
> proposal for this.
> 
> -Mathias

Hi Mathias,

I applied your patch on top of v5.0-rc8 and tested it on my laptop.

It fixes the suspend problem from the kernel side, but there is another
one: starting with the second suspend, XHCI controller wakes up the
system just after few seconds after suspending. Laptop keeps looping
through suspend/resume while lid is closed.

Such behaviour is quite stable: I was able to reproduce this three
times with reboots in between. Corresponding dmesg and traces are here
(from one run only):
https://github.com/im-0/investigate-card-reader-suspend-problem-on-mbp11.4/tree/master/test-22

After disabling ACPI wake up on XHC1 (echo XHC1 >/proc/acpi/wakeup),
everything works as expected: suspend/resume works fine multiple times,
card reader remains missing after the first suspend/resume.

             reply	other threads:[~2019-02-25 22:11 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-25 22:11 Ivan Mironov [this message]
  -- strict thread matches above, loose matches on Subject: below --
2019-03-21 15:40 [regression] USB power management failure to suspend / high CPU usage Eric Blau
2019-03-21 14:54 Mathias Nyman
2019-03-21 13:32 Eric Blau
2019-03-04 15:53 Eric Blau
2019-03-04 15:15 Mathias Nyman
2019-02-22  1:05 Eric Blau
2019-02-20 17:28 Mathias Nyman
2019-02-14 14:57 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=c5e3b6a3b273fefbe662b784f59abcdf32ecb518.camel@gmail.com \
    --to=mironov.ivan@gmail.com \
    --cc=eblau@eblau.com \
    --cc=linux-usb@vger.kernel.org \
    --cc=mathias.nyman@linux.intel.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).