From patchwork Thu Mar 16 05:29:51 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Viresh Kumar X-Patchwork-Id: 95382 Delivered-To: patch@linaro.org Received: by 10.140.89.134 with SMTP id v6csp660840qgd; Wed, 15 Mar 2017 22:31:09 -0700 (PDT) X-Received: by 10.98.134.142 with SMTP id x136mr8270503pfd.64.1489642269083; Wed, 15 Mar 2017 22:31:09 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d2si2965884pfk.113.2017.03.15.22.31.08; Wed, 15 Mar 2017 22:31:09 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751786AbdCPFay (ORCPT + 25 others); Thu, 16 Mar 2017 01:30:54 -0400 Received: from mail-pg0-f45.google.com ([74.125.83.45]:35412 "EHLO mail-pg0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751764AbdCPFat (ORCPT ); Thu, 16 Mar 2017 01:30:49 -0400 Received: by mail-pg0-f45.google.com with SMTP id b129so19575030pgc.2 for ; Wed, 15 Mar 2017 22:30:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=YwDvGhN/ikBRJyYCn64jJuTGyRwV4jcwda4lIl/UIuA=; b=SKx78DIEH2Eq5qyiD+1gcEV2W5I8ceMfZfKwFvF9Vh0kQGlpbxHVYfjlDrYM4hTAVI zdf9R5oBkPFbw09H10HvWeway7aWCKKFodaJxiKDDY53o2VHYzX+/wO870r0ZaYR1cde iDUo0LrCU57BQyEPz/WoYY3qLDyI7f7phSlzw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=YwDvGhN/ikBRJyYCn64jJuTGyRwV4jcwda4lIl/UIuA=; b=jFFVJwqPTmAxe/Q/8tsMB3N0j/eS1u5rvlmPJ51XY3csdJHx/Ub1F/0YKt3Zhl6Qig ZV7oVBWknm1ndU7gS8y2vtoLc7uolMQn1Gf7hXm39yJDJVIy7j5f1x6CX38HvL4H7B5x USvCjWYxqncmfQ8GOf2XOwurzoCUw+Af3xDrx6rJPvPIliTaZZ+6QhlaCs+OKxRfqT1k KO3tNxJ54daCjfYevEB6JaI707606ZzkP5HiUrt2FwqT7xw1Ok0hJzUeswY6cVC8rRwG GB+xRRxkIEsf8JgDCru8NXhZABTu+0rhdr8KJVKF8vmnBhr8oFh3TqIqDqq30YLUoUYp CQWQ== X-Gm-Message-State: AFeK/H2ZIQDANsp4QlvJsurM9T4h6CUzvI6h0H6xZtATPynRQ2Uc/h/d+XQO1t+A7qJGiHMV X-Received: by 10.84.241.203 with SMTP id t11mr9768058plm.48.1489642248661; Wed, 15 Mar 2017 22:30:48 -0700 (PDT) Received: from localhost ([122.171.239.200]) by smtp.gmail.com with ESMTPSA id x10sm7419401pfi.21.2017.03.15.22.30.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 Mar 2017 22:30:48 -0700 (PDT) From: Viresh Kumar To: Rafael Wysocki , Javi Merino , Zhang Rui , Eduardo Valentin , Amit Daniel Kachhap , Viresh Kumar Cc: linaro-kernel@lists.linaro.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Vincent Guittot Subject: [PATCH 16/17] thermal: cpu_cooling: 'freq' can't be zero in cpufreq_state2power() Date: Thu, 16 Mar 2017 10:59:51 +0530 Message-Id: <252aef1977bab800768c5144e907f8d0696323a9.1489640000.git.viresh.kumar@linaro.org> X-Mailer: git-send-email 2.7.1.410.g6faf27b In-Reply-To: References: In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The frequency table shouldn't have any zero frequency entries and so such a check isn't required. Though it would be better to make sure 'state' is within limits. Signed-off-by: Viresh Kumar --- drivers/thermal/cpu_cooling.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) -- 2.7.1.410.g6faf27b diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c index fb535fd5aa12..768a95bcc392 100644 --- a/drivers/thermal/cpu_cooling.c +++ b/drivers/thermal/cpu_cooling.c @@ -561,12 +561,13 @@ static int cpufreq_state2power(struct thermal_cooling_device *cdev, int ret; struct cpufreq_cooling_device *cpufreq_dev = cdev->devdata; + /* Request state should be less than max_level */ + if (WARN_ON(state > cpufreq_dev->max_level)) + return -EINVAL; + num_cpus = cpumask_weight(cpufreq_dev->policy->cpus); freq = cpufreq_dev->freq_table[state].frequency; - if (!freq) - return -EINVAL; - dynamic_power = cpu_freq_to_power(cpufreq_dev, freq) * num_cpus; ret = get_static_power(cpufreq_dev, tz, freq, &static_power); if (ret)