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

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

 



On Sun, Dec 23, 2018 at 08:49:42AM -0500, Eric Blau wrote:
> Hi folks,
> 
> 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?

Sorry, this is a known issue, will be fixed in the next 4.19 release
that should be out next week.

If you are curious, it is fixed by commit 45f750c16cae ("xhci: Don't
prevent USB2 bus suspend in state check intended for USB3 only") in
Linus's tree.

thanks,

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux