Re: [regression] USB power management failure to suspend / high CPU usage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 22 Jan 2019, Eric Blau wrote:

> Hi linux-usb list,
> 
> I have had issues with USB power management since upgrading from
> 4.19.4 to 4.19.8. The issue still persists even with 4.20.3. I had
> reported the issue on the linux-stable list and Greg K-H asked me to
> report the issue here. Here is the original report which still holds
> for 4.20.3.
> 
> Could you please advise on what I can help with to get this resolved?
> The suggested fix in 4.20 did not solve the issue.
> 
> ---
> 
> I noticed a regression introduced sometime after 4.19.4 in USB power
> management. I have a 2015 MacBook Pro. When I try to do a suspend or a
> suspend+hibernate, I get the following error messages trying to
> suspend usb2 and the suspend fails. This works fine in 4.19.4:
> 
> Dec 22 13:50:36 eric-macbookpro kernel: Freezing remaining freezable
> tasks ... (elapsed 0.001 seconds) done.
> Dec 22 13:50:36 eric-macbookpro kernel: Suspending console(s) (use
> no_console_suspend to debug)
> Dec 22 13:50:36 eric-macbookpro kernel: dpm_run_callback():
> usb_dev_freeze+0x0/0x10 returns -16
> Dec 22 13:50:36 eric-macbookpro kernel: PM: Device usb2 failed to
> freeze async: error -16
> Dec 22 13:50:38 eric-macbookpro systemd[1]:
> systemd-hybrid-sleep.service: Main process exited, code=exited,
> status=1/FAILURE
> Dec 22 13:50:38 eric-macbookpro systemd[1]:
> systemd-hybrid-sleep.service: Failed with result 'exit-code'.
> Dec 22 13:50:38 eric-macbookpro systemd[1]: Failed to start Hybrid
> Suspend+Hibernate.
> Dec 22 13:50:38 eric-macbookpro systemd[1]: Dependency failed for
> Hybrid Suspend+Hibernate.
> Dec 22 13:50:38 eric-macbookpro systemd[1]: hybrid-sleep.target: Job
> hybrid-sleep.target/start failed with result 'dependency'.
> Dec 22 13:50:38 eric-macbookpro systemd-logind[1573]: Operation
> 'sleep' finished.
> Dec 22 13:50:38 eric-macbookpro systemd[1]: Stopped target Sleep.
> 
> The behavior exists in 4.19.8 and 4.19.11, the kernel versions I have
> upgraded to with Arch Linux, so the regression was introduced sometime
> between 4.19.4 and 4.19.8. Hibernate still works but when I resume
> from hibernate, there is a ksoftirqd and kworker thread/process
> together taking up 100% of one core. If I turn off auto power control
> for usb1 and usb2, the threads stop spinning. i.e.,
> 
> echo 'on' > '/sys/bus/usb/devices/usb1/power/control
> 
> Any suggestions as to where this regression was introduced and what
> can be done to fix it?

In the absence of any better suggestions, you can always try using git 
bisect between 4.19.4 and 4.19.8.  The amount of churn ought to be 
relatively small, so it shouldn't take too long to home in on the 
commit which caused the problem.

Also, you should provide a little more information about your system in
your bug report.  For example, the output from "lsusb".

Alan Stern




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux