Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

busybox: add 'xpad' to SUSPEND_MODULES #3738

Merged
merged 1 commit into from
Aug 7, 2019

Conversation

lbschenkel
Copy link
Contributor

In some systems, xpad times out during suspend:

[ 4470.773651] xpad 2-1.5:1.6: timed out waiting for output URB to complete, killing
[ 4475.892774] xpad 2-1.5:1.4: timed out waiting for output URB to complete, killing
[ 4481.011717] xpad 2-1.5:1.2: timed out waiting for output URB to complete, killing
[ 4486.130707] xpad 2-1.5:1.0: timed out waiting for output URB to complete, killing
[ 4486.288630] PM: suspend devices took 20.880 seconds

This causes suspend to take a long time to complete. Unloading/reloading
the module during suspend/wakeup successfully works around this issue.

In some systems, xpad times out during suspend:

[ 4470.773651] xpad 2-1.5:1.6: timed out waiting for output URB to complete, killing
[ 4475.892774] xpad 2-1.5:1.4: timed out waiting for output URB to complete, killing
[ 4481.011717] xpad 2-1.5:1.2: timed out waiting for output URB to complete, killing
[ 4486.130707] xpad 2-1.5:1.0: timed out waiting for output URB to complete, killing
[ 4486.288630] PM: suspend devices took 20.880 seconds

This causes suspend to take a long time to complete. Unloading/reloading
the module during suspend/wakeup successfully works around this issue.
@MilhouseVH
Copy link
Contributor

Excuse my ignorance, but what is xpad?

@lbschenkel
Copy link
Contributor Author

xpad is the kernel module for dealing with the Xbox One controller. I noticed that my system (LibreELEC 9.1.002, x86-64) was taking an unusual long time to go to sleep when the controller was connected. I have managed to mitigate the issue by creating a script as documented in https://libreelec.wiki/creating_suspend_and_resume_scripts which does rmmod/modprobe but this PR would fix it for all the other users.

@MilhouseVH
Copy link
Contributor

OK thanks, I'll include this in nightly testing for a few days.

@lbschenkel
Copy link
Contributor Author

Slightly off-topic, but related:

It would be nice if https://github.com/LibreELEC/LibreELEC.tv/blob/3230a0838bb43648a935b8a0f14b0eebd1d8cc26/packages/sysutils/busybox/sleep.d.serial/99-suspend-modules.sh was amended to allow user customization inside /storage/.config, so both the system-specified list and the user-specified list are concatenated together and users could extend the list with new entries, in case they stumble upon other problematic modules.

I didn't submit a PR for that due to not being sure if the maintainers like that approach.

@MilhouseVH
Copy link
Contributor

I didn't submit a PR for that due to not being sure if the maintainers like that approach.

A PR would be welcome. Probably doesn't need to be anything more than http://ix.io/1QuR, and then your /storage/.config/suspend-modules.conf would be:

SUSPEND_MODULES="xpad"

@lbschenkel
Copy link
Contributor Author

A PR would be welcome. Probably doesn't need to be anything more than http://ix.io/1QuR, and then your /storage/.config/suspend-modules.conf would be:

SUSPEND_MODULES="xpad"

Yes, that is pretty much exactly what I had in mind.

@MilhouseVH MilhouseVH merged commit 6a2ee78 into LibreELEC:master Aug 7, 2019
@lbschenkel lbschenkel deleted the suspend-xpad branch February 2, 2023 14:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants