lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.18 502/879] PM: domains: Fix initialization of genpds next_wakeup
    Date
    From: Ulf Hansson <ulf.hansson@linaro.org>

    [ Upstream commit 622d9b5577f19a6472db21df042fea8f5fefe244 ]

    In the genpd governor we walk the list of child-domains to take into
    account their next_wakeup. If the child-domain itself, doesn't have a
    governor assigned to it, we can end up using the next_wakeup value before
    it has been properly initialized. To prevent a possible incorrect behaviour
    in the governor, let's initialize next_wakeup to KTIME_MAX.

    Fixes: c79aa080fb0f ("PM: domains: use device's next wakeup to determine domain idle state")
    Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/base/power/domain.c | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
    index 1ee878d126fd..f0e4b0ea93e8 100644
    --- a/drivers/base/power/domain.c
    +++ b/drivers/base/power/domain.c
    @@ -1997,6 +1997,7 @@ int pm_genpd_init(struct generic_pm_domain *genpd,
    genpd->device_count = 0;
    genpd->max_off_time_ns = -1;
    genpd->max_off_time_changed = true;
    + genpd->next_wakeup = KTIME_MAX;
    genpd->provider = NULL;
    genpd->has_provider = false;
    genpd->accounting_time = ktime_get();
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-06-08 03:40    [W:4.020 / U:0.196 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site