Relax check on adding children of suspended devices

Do not refuse to actually register children of suspended devices,
but still warn about attempts to do that.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Rafael J. Wysocki
2008-04-23 00:48:23 +02:00
committed by Linus Torvalds
parent aca239b793
commit 08119e8966

View File

@@ -62,7 +62,7 @@ static bool all_sleeping;
*/ */
int device_pm_add(struct device *dev) int device_pm_add(struct device *dev)
{ {
int error = 0; int error;
pr_debug("PM: Adding info for %s:%s\n", pr_debug("PM: Adding info for %s:%s\n",
dev->bus ? dev->bus->name : "No Bus", dev->bus ? dev->bus->name : "No Bus",
@@ -70,18 +70,15 @@ int device_pm_add(struct device *dev)
mutex_lock(&dpm_list_mtx); mutex_lock(&dpm_list_mtx);
if ((dev->parent && dev->parent->power.sleeping) || all_sleeping) { if ((dev->parent && dev->parent->power.sleeping) || all_sleeping) {
if (dev->parent->power.sleeping) if (dev->parent->power.sleeping)
dev_warn(dev, dev_warn(dev, "parent %s is sleeping\n",
"parent %s is sleeping, will not add\n",
dev->parent->bus_id); dev->parent->bus_id);
else else
dev_warn(dev, "devices are sleeping, will not add\n"); dev_warn(dev, "all devices are sleeping\n");
WARN_ON(true); WARN_ON(true);
error = -EBUSY;
} else {
error = dpm_sysfs_add(dev);
if (!error)
list_add_tail(&dev->power.entry, &dpm_active);
} }
error = dpm_sysfs_add(dev);
if (!error)
list_add_tail(&dev->power.entry, &dpm_active);
mutex_unlock(&dpm_list_mtx); mutex_unlock(&dpm_list_mtx);
return error; return error;
} }