summaryrefslogtreecommitdiffstats
path: root/drivers/devfreq
diff options
context:
space:
mode:
authorDmitry Osipenko <digetx@gmail.com>2019-11-05 00:56:03 +0300
committerChanwoo Choi <cw00.choi@samsung.com>2019-11-06 12:04:00 +0900
commit53b4b2aeee26f42cde5ff2a16dd0d8590c51a55a (patch)
tree40b91231a847cdcd8a4b5c5796eca7e83fc3dc6e /drivers/devfreq
parente7955a34a2344b5a237aabd4d8a43e30c3183b79 (diff)
downloadlinux-53b4b2aeee26f42cde5ff2a16dd0d8590c51a55a.tar.gz
linux-53b4b2aeee26f42cde5ff2a16dd0d8590c51a55a.tar.bz2
linux-53b4b2aeee26f42cde5ff2a16dd0d8590c51a55a.zip
PM / devfreq: tegra30: Fix integer overflow on CPU's freq max out
There is another kHz-conversion bug in the code, resulting in integer overflow. Although, this time the resulting value is 4294966296 and it's close to ULONG_MAX, which is okay in this case. Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com> Tested-by: Peter Geis <pgwipeout@gmail.com> Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Diffstat (limited to 'drivers/devfreq')
-rw-r--r--drivers/devfreq/tegra30-devfreq.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/devfreq/tegra30-devfreq.c b/drivers/devfreq/tegra30-devfreq.c
index b50bd1615010..7d7b7eecc19c 100644
--- a/drivers/devfreq/tegra30-devfreq.c
+++ b/drivers/devfreq/tegra30-devfreq.c
@@ -69,6 +69,8 @@
#define KHZ 1000
+#define KHZ_MAX (ULONG_MAX / KHZ)
+
/* Assume that the bus is saturated if the utilization is 25% */
#define BUS_SATURATION_RATIO 25
@@ -170,7 +172,7 @@ struct tegra_actmon_emc_ratio {
};
static struct tegra_actmon_emc_ratio actmon_emc_ratios[] = {
- { 1400000, ULONG_MAX },
+ { 1400000, KHZ_MAX },
{ 1200000, 750000 },
{ 1100000, 600000 },
{ 1000000, 500000 },