• Rafael J. Wysocki's avatar
    PM / runtime: Drop children check from __pm_runtime_set_status() · f8817f61
    Rafael J. Wysocki authored
    The check for "active" children in __pm_runtime_set_status(), when
    trying to set the parent device status to "suspended", doesn't
    really make sense, because in fact it is not invalid to set the
    status of a device with runtime PM disabled to "suspended" in any
    case.  It is invalid to enable runtime PM for a device with its
    status set to "suspended" while its child_count reference counter
    is nonzero, but the check in __pm_runtime_set_status() doesn't
    really cover that situation.
    
    For this reason, drop the children check from __pm_runtime_set_status()
    and add a check against child_count reference counters of "suspended"
    devices to pm_runtime_enable().
    
    Fixes: a8636c89 (PM / Runtime: Don't allow to suspend a device with an active child)
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Reviewed-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    Reviewed-by: default avatarJohan Hovold <johan@kernel.org>
    f8817f61
runtime.c 47 KB