clk: tegra: emc: Avoid out-of-bounds bug
authorDmitry Osipenko <digetx@gmail.com>
Tue, 5 Jun 2018 12:12:32 +0000 (15:12 +0300)
committerStephen Boyd <sboyd@kernel.org>
Mon, 9 Jul 2018 00:10:19 +0000 (17:10 -0700)
Apparently there was an attempt to avoid out-of-bounds accesses when there
is only one memory timing available, but there is a typo in the code that
neglects that attempt.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/tegra/clk-emc.c

index 5234acd..0621a3a 100644 (file)
@@ -132,7 +132,7 @@ static int emc_determine_rate(struct clk_hw *hw, struct clk_rate_request *req)
                timing = tegra->timings + i;
 
                if (timing->rate > req->max_rate) {
-                       i = min(i, 1);
+                       i = max(i, 1);
                        req->rate = tegra->timings[i - 1].rate;
                        return 0;
                }