diff options
author | Linux Build Service Account <lnxbuild@quicinc.com> | 2017-07-06 23:41:17 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-07-06 23:41:17 -0700 |
commit | 81b79b39c785a36c39db7c6d49ff19c8b02da883 (patch) | |
tree | aa6aea3f46f47dbafe98c220abc74ae45f00094b /drivers | |
parent | 6b67ad013a290eaa48b429d7897f589477eb6555 (diff) | |
parent | 1fbefb5219e1f872dca8b1b54eecb7f83452d6fd (diff) |
Merge "mmc: core: Use PF_MEMALLOC flag for clock scaling context"
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mmc/core/core.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 79b5b3504ccd..0da9c5caea13 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -487,12 +487,17 @@ static int mmc_devfreq_set_target(struct device *dev, struct mmc_devfeq_clk_scaling *clk_scaling; int err = 0; int abort; + unsigned long pflags = current->flags; + + /* Ensure scaling would happen even in memory pressure conditions */ + current->flags |= PF_MEMALLOC; if (!(host && freq)) { pr_err("%s: unexpected host/freq parameter\n", __func__); err = -EINVAL; goto out; } + clk_scaling = &host->clk_scaling; if (!clk_scaling->enable) @@ -551,6 +556,7 @@ static int mmc_devfreq_set_target(struct device *dev, rel_host: mmc_release_host(host); out: + tsk_restore_flags(current, pflags, PF_MEMALLOC); return err; } |