summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-07-06 23:41:16 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-07-06 23:41:16 -0700
commit6b67ad013a290eaa48b429d7897f589477eb6555 (patch)
treeba6d64667d099f8df58abf56bd5fa15830abac00 /drivers/gpu
parentabfdf9aa5a9199e8bf9107506d022afb166a2396 (diff)
parentaac10e39c7eeba471339fd79f25d51fefd547ea4 (diff)
Merge "msm: kgsl: Fix a dead loop issue while changing gpu frequency"
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/msm/kgsl_pwrscale.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/msm/kgsl_pwrscale.c b/drivers/gpu/msm/kgsl_pwrscale.c
index 7f93ab8fa8d4..24a1a42af74e 100644
--- a/drivers/gpu/msm/kgsl_pwrscale.c
+++ b/drivers/gpu/msm/kgsl_pwrscale.c
@@ -550,7 +550,11 @@ int kgsl_devfreq_target(struct device *dev, unsigned long *freq, u32 flags)
/* If the governor recommends a new frequency, update it here */
if (*freq != cur_freq) {
level = pwr->max_pwrlevel;
- for (i = pwr->min_pwrlevel; i >= pwr->max_pwrlevel; i--)
+ /*
+ * To avoid infinite loop issue type cast max_pwrlevel to
+ * signed integer type
+ */
+ for (i = pwr->min_pwrlevel; i >= (int)pwr->max_pwrlevel; i--)
if (*freq <= pwr->pwrlevels[i].gpu_freq) {
if (pwr->thermal_cycle == CYCLE_ACTIVE)
level = _thermal_adjust(pwr, i);