summaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-12-08 18:58:10 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2017-12-08 18:58:10 +0100
commit7ed9fd2e2916e89a5874359d6e4d5a49abb08c83 (patch)
tree56ada72168097b0c69d5b5528c4154915fa4c967 /drivers/base
parentMerge tag 'for_linus-4.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel/g... (diff)
parentPM / runtime: Fix handling of suppliers with disabled runtime PM (diff)
downloadlinux-7ed9fd2e2916e89a5874359d6e4d5a49abb08c83.tar.xz
linux-7ed9fd2e2916e89a5874359d6e4d5a49abb08c83.zip
Merge tag 'pm-4.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management fix from Rafael Wysocki: "This fixes an issue in the device runtime PM framework that prevents customer devices from resuming if runtime PM is disabled for one or more of their supplier devices (as reflected by device links between those devices)" * tag 'pm-4.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: PM / runtime: Fix handling of suppliers with disabled runtime PM
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/power/runtime.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c
index 027d159ac381..6e89b51ea3d9 100644
--- a/drivers/base/power/runtime.c
+++ b/drivers/base/power/runtime.c
@@ -276,7 +276,8 @@ static int rpm_get_suppliers(struct device *dev)
continue;
retval = pm_runtime_get_sync(link->supplier);
- if (retval < 0) {
+ /* Ignore suppliers with disabled runtime PM. */
+ if (retval < 0 && retval != -EACCES) {
pm_runtime_put_noidle(link->supplier);
return retval;
}